2013-01-07 36 views
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文本....我可以知道原因輸入的文本沒有得到寫入到一個文件中的java

回答

3

您沒有關閉PrintWriter。使用pw.close();

請務必在打開文件時關閉文件。

及其使用

finally 

好讓你可以關閉最終所有打開的文件更好的辦法..

如:

finally 

{ pw.close (); }

0

您必須關閉您的PrintWriter,並考慮爲您的if-else使用大括號。

else { 
    pw.println(str); 
    pw.close(); 
    } 
0

您需要刷新您的數據保存到文件

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

}

+0

沒有真正的close()的確會調用flush隱含 – PermGenError

+0

@GanGnaMStYleOverFlowErroR,但它會使程序更具可讀性。 – kaysush