2015-04-02 27 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(); 
相关问题