2
String str;
String path = "E:/progs/a.txt";

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
PrintWriter pw = new PrintWriter(path);

while(true)
{
    System.out.print("Enter the words : ");
    str = br.readLine();
    if(str.equalsIgnoreCase("exit"))
        break;
    else
        pw.println(str);
}

私が入力したテキストが、パスで指定されたファイル名a.txtに書き込まれていません....理由を知っているかもしれません

4

3 に答える 3

3

あなたは閉じませんでしたPrintWriter。を使用しpw.close();ます。

ファイルを開くときは、必ずファイルを閉じるようにしてください。

そしてそれを使用するためのより良い方法

finally

最後に開いているすべてのファイルを閉じることができるようにします。

例えば:

finally

{ pw.close(); }

于 2013-01-07T15:03:53.637 に答える
0

PrintWriterを閉じ、if-elseに中括弧を使用することも検討する必要があります。

   else {
    pw.println(str);
    pw.close();
   }
于 2013-01-07T15:04:54.427 に答える
0

データをファイルにフラッシュする必要があります

else {
pw.println(str);
pw.flush();
pw.close();

}

于 2013-01-07T15:18:32.620 に答える