问题
I used the example code on a website somewhere and it looks like this:
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());
}
}
}
It creates the file but leaves it completely empty. I do not seem to figure out why. Do I need a "File" object?
I've tried different solutions found on here but it doesn't work. I've also played around with the printing method.
EDIT: Fixed by calling pw.close()
at the end
回答1:
You should add pw.close()
to fix this problem.
Else that data will be lost in a buffer.
来源:https://stackoverflow.com/questions/25593147/printwriter-creates-file-but-doesnt-write