2014-08-31 85 views
1

我使用的示例代码的网站上的某个地方,它看起来像这样:PrintWriter的创建文件,但不写

package gdt.enlightening; 

import notify.*; 
import javax.swing.*; 
import java.io.*; 
import java.util.logging.Level; 
import java.util.logging.Logger; 

public class export { 
    public static void Export(String path) { 

     try { 
      // Package.json 
      File file = new File(path + "/package.json"); 

      FileWriter pw = new FileWriter(file); 
      pw.write("test"); 
      pw.write("Hi!"); 

      pw.write(" \"id\": \"" + main.packageID + "\",\r\n"); 
      pw.write(" \"name\": \"test\","); 

      notify.Notify.info("GDT Enlightening", "Finished exporting without errors."); 
     } catch (Exception e) { 
      System.out.println(e.toString()); 
     } 
    } 
} 

它创建的文件,但它留下完全空。我似乎无法弄清楚为什么。我需要一个“文件”对象吗?

我试过在这里找到不同的解决方案,但它不起作用。我也玩过印刷方法。

编辑:通过调用pw.close()

+0

那么,应该工作(对我来说工作正常)。你确定你正在查看正确的文件吗? – Dici 2014-08-31 14:59:57

+0

什么是路径?请详细说明。 – 2014-08-31 15:00:15

+0

该代码没有任何问题。也许你正在寻找错误的文件夹。 – Boann 2014-08-31 15:01:06

回答

3

您应该添加pw.close()来解决这个问题修复。

否则数据将丢失在缓冲区中。

+0

为了教育起见,** pw.flush()**会将所有数据推送到磁盘并将文件保留为打开状态以便进一步写入。 – 2017-11-30 12:15:30

相关问题