私は1つのファイルからデータを読んで、それを逆順で小文字で他のファイルに書き込む必要があります。ストリームを閉じないとファイルが埋められないのはなぜですか?
BufferedReader r = new BufferedReader(new FileReader("file.txt"));
List<String> s = new LinkedList<>();
String temp;
while ((temp = r.readLine()) != null)
s.add(temp);
r.close();
BufferedWriter w = new BufferedWriter(new FileWriter("file1.txt"));
ListIterator<String> li = s.listIterator(s.size());
while (li.hasPrevious()) {
w.write(li.previous().toLowerCase() + "\n");
}
// w.close();
最後の文字列にコメントすると、ファイルは空のままです。そうしないと、ファイルは正しく埋められます。なぜそれが起こるのか教えてください。
'close'を呼び出すと、必要なストリームもフラッシュされます。 [the doc](https://docs.oracle.com/javase/8/docs/api/java/io/BufferedWriter.html#close--) –
を参照してください。バッファされた*ライター。 – Holger