こんにちは私は、バッファード・リーダーを使ってテキスト・ファイルを読んで、テキスト・ファイルの行数を表示しようとしています。私のコードは次のようになります...javaエラーのファイルを読む
File parent = new File("/Desktop/Test Folder");
File text = new File(parent, "/text.txt");
FileWriter fw;
FileReader fr;
BufferedWriter write;
BufferedReader read;
if (!parent.exists()) {
parent.mkdir();
}
try {
text.createNewFile();
} catch (Exception ex) {
System.err.println("Error creating file");
}
try {
fw = new FileWriter(text);
fr = new FileReader(text);
write = new BufferedWriter(fw);
read = new BufferedReader(fr);
} catch (Exception ex) {
System.err.println("Error trying to write or read file");
}
System.out.println("Writing to file...");
try {
write.write("String number one.\n");
write.write("String number two.\n");
List<String> lines = new LinkedList<String>();
String line = read.readLine();
while (line != null) {
lines.add(line);
line = read.readLine();
}
System.out.printf("Number of lines is %d.\n", lines.size());
write.flush();
write.close();
} catch (Exception ex) {
System.err.println("Error writing to file");
}
これを実行すると、リスト行に0個の要素があることがわかります。どんな助け?私はどこかで車のない間違いを作ったのですか、間違った方法を使っていますか?私はアマチュアなので、エラーは明らかなものだと思う。とにかく誰かが私に助けを与えることができますか?
出力をファイルから読み取る前に、その出力をフラッシュ()する必要があります。 –