2015-04-02 28 views
0
package stuff; 

import java.io.IOException; 

public class DataWriter { 
    public static void main(String[] args) throws IOException { 
     java.io.File file = new java.io.File("mydata.txt"); 

     if (file.exists()) { 
      System.out.println("file already exists"); 
      System.exit(1); 
     } 

     java.io.PrintWriter output = new java.io.PrintWriter(file); 
     output.println("data1"); 
     output.println("data2""); 
     output.println("data3"); 
     output.println("data4"); 
     output.println("data5"); 
     output.println("data6"); 
     output.println(" data7"); 
     System.out.println("data8"); 
    } 
} 

此代碼創建一個「mydata.txt」,但不填充任何東西。爲什麼這不起作用?我一直在努力讓這項工作連續3周!爲什麼這個文件是空的?此代碼應填充東西

回答

1

您不關閉輸出變量

java.io.File file = new java.io.File("mydata.txt"); 
     if(file.exists()) { 
      System.out.println("file already exists"); 
      System.exit(1); 

     } 
     java.io.PrintWriter output = new java.io.PrintWriter(file); 
     output.println("data1"); 
     output.println("data2"); 
     output.println("data3"); 
     output.println("data4"); 
     output.println("data5"); 
     output.println("data6"); 
     output.println(" data7"); 
     output.close();   //close<-------------------------------- 
     System.out.println("data8"); 
+0

如果你不叫'output.close()'數據可能無法得到刷新到文件,這顯然是你的情況發生了什麼。 – 2015-04-02 02:26:09

+0

或「沖洗」它。順便說一句,如果文件沒有找到,你的程序也會遇到NullPointerException異常。也許你應該處理這個問題。 '拋出像OP一樣好,所以我被添加了這樣一個笨拙的'catch'塊所困惑。 – Radiodef 2015-04-02 02:30:17

+0

對不起,我只是很快插入它,並使用intellisense自動完成,虐待它回來 – JRowan 2015-04-02 02:31:56

0

您需要關閉該文件與:

output.close(); 
相關問題