回答編集履歴

1

追記0

2019/04/12 06:10

投稿

BeatStar
BeatStar

スコア4958

test CHANGED
@@ -15,3 +15,75 @@
15
15
 
16
16
 
17
17
  なので close系を呼び出してみてください。
18
+
19
+
20
+
21
+ ----
22
+
23
+ [追記0]
24
+
25
+
26
+
27
+ 一応根拠を書いておきます。
28
+
29
+
30
+
31
+ まず、C言語ではファイルの書き込みは、
32
+
33
+
34
+
35
+ 1. ファイルを開く
36
+
37
+ 2. <書き込み>
38
+
39
+ 3. ファイルを閉じる
40
+
41
+
42
+
43
+ という処理でやります。
44
+
45
+
46
+
47
+ ファイルを開くのはfopen関数と呼ばれる関数で開き、ファイルポインタと呼ばれるものを取得します。
48
+
49
+ これにファイルがどこまで読み込まれた/書き込まれたかとかの情報が入っているようです。
50
+
51
+
52
+
53
+ このファイルポインタを書き込み系の関数 ( fwrite関数だった気が ) に渡して書いてもらう。
54
+
55
+
56
+
57
+ そしてファイルポインタをfclose関数と呼ばれる関数に渡して閉じてもらう。
58
+
59
+
60
+
61
+ これが一連の処理。
62
+
63
+
64
+
65
+ で、多分だけど、Javaでは Fileクラスだっけ? あれで fopen関数に相当する処理をして、ファイルポインタに相当するものを保持。
66
+
67
+
68
+
69
+ そしてFileWriterクラスだっけ? それで書き込むときに...
70
+
71
+
72
+
73
+ とやっているはず。
74
+
75
+
76
+
77
+ あまりJavaは使っていないので詳しくはわかりませんが。
78
+
79
+
80
+
81
+ C++であれば デストラクタと呼ばれる、コンストラクタの反対の動きをするものがありますから、close系メソッドを呼び出さなくても自動的にやると思いますが、
82
+
83
+
84
+
85
+ Javaではそんなものないので、自分でclose系を呼び出さないといけない。
86
+
87
+
88
+
89
+ これをやっていないから 何も書かれていないファイル になるのではないかと。