Java:PrintWriter

我正在尝试使用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不能。

有人能帮助我理解我在这里缺少什么吗?

您可能需要刷新打印作者。

带有FileWriter参数的PrintWriter构造函数创建一个将autoFlush设置为off的PrintWriter

pw.flush()之前调用pw.flush() pw.close(); 应该做的伎俩