我正在尝试使用 PrintWriter.java ,但我遇到了一个相当奇怪的问题,我无法弄清楚我在这里缺少什么。
MyPrintWriter.java
public class MyPrintWriter {
public static void main(String[] args) {
File myFile = new File("myFileDirectory/myFileName.txt");
try {
FileWriter fw = new FileWriter(myFile);
PrintWriter pw = new PrintWriter(fw);
pw.println("Hello World!");
pw.close();
} catch (FileNotFoundException e) {
System.err.println("File not found: " + myFile);
} catch (Exception e) {
e.printStackTrace();
}
}
}
MyFileWriter.java
public class MyFileWriter {
public static void main(String[] args) {
File myFile = new File("myFileDirectory/myFileName.txt");
try {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
FileWriter fw = new FileWriter(myFile);
PrintWriter pw = new PrintWriter(fw);
String input;
input = br.readLine();
while(input != null) {
pw.println(input);
input = br.readLine();
}
br.close();
pw.close();
} catch (FileNotFoundException e) {
System.err.println("File not found: " + myFile);
} catch (Exception e) {
e.printStackTrace();
}
}
}
MyPrintWriter.java 很乐意写入 myFileName.txt 文件,但 MyFileWrite.java 却不能。
有人可以帮我理解我在这里缺少什么吗?
答案 0 :(得分:0)
您可能需要flush您的作家。
PrintWriter
constructor with a FileWriter
parameter创建一个Print autoFlush
设置为关闭的PrintWriter
在pw.flush()
之前调用pw.close();
应该可以解决问题