回答編集履歴
1
追記0
answer
CHANGED
@@ -6,4 +6,40 @@
|
|
6
6
|
closeで生成する感じですね。
|
7
7
|
(厳密には違うだろうけど。)
|
8
8
|
|
9
|
-
なので close系を呼び出してみてください。
|
9
|
+
なので close系を呼び出してみてください。
|
10
|
+
|
11
|
+
----
|
12
|
+
[追記0]
|
13
|
+
|
14
|
+
一応根拠を書いておきます。
|
15
|
+
|
16
|
+
まず、C言語ではファイルの書き込みは、
|
17
|
+
|
18
|
+
1. ファイルを開く
|
19
|
+
2. <書き込み>
|
20
|
+
3. ファイルを閉じる
|
21
|
+
|
22
|
+
という処理でやります。
|
23
|
+
|
24
|
+
ファイルを開くのはfopen関数と呼ばれる関数で開き、ファイルポインタと呼ばれるものを取得します。
|
25
|
+
これにファイルがどこまで読み込まれた/書き込まれたかとかの情報が入っているようです。
|
26
|
+
|
27
|
+
このファイルポインタを書き込み系の関数 ( fwrite関数だった気が ) に渡して書いてもらう。
|
28
|
+
|
29
|
+
そしてファイルポインタをfclose関数と呼ばれる関数に渡して閉じてもらう。
|
30
|
+
|
31
|
+
これが一連の処理。
|
32
|
+
|
33
|
+
で、多分だけど、Javaでは Fileクラスだっけ? あれで fopen関数に相当する処理をして、ファイルポインタに相当するものを保持。
|
34
|
+
|
35
|
+
そしてFileWriterクラスだっけ? それで書き込むときに...
|
36
|
+
|
37
|
+
とやっているはず。
|
38
|
+
|
39
|
+
あまりJavaは使っていないので詳しくはわかりませんが。
|
40
|
+
|
41
|
+
C++であれば デストラクタと呼ばれる、コンストラクタの反対の動きをするものがありますから、close系メソッドを呼び出さなくても自動的にやると思いますが、
|
42
|
+
|
43
|
+
Javaではそんなものないので、自分でclose系を呼び出さないといけない。
|
44
|
+
|
45
|
+
これをやっていないから 何も書かれていないファイル になるのではないかと。
|