我分配了一个文件的文本复制到另一个文件。通过以下代码,我可以将文件的各行打印到控制台,但无法打印到输出文件。
try {
System.out.print("Enter the file name with extension : ");
Scanner input = new Scanner(System.in);
File inputFile = new File(input.nextLine());
PrintWriter out = new PrintWriter("/Users/jonathanzier/Dropbox/IdeaProjects/CSE_205_Homework1/src/com/company/output.txt");
input = new Scanner(inputFile);
while (input.hasNextLine()) {
out.println(input.nextLine());
//System.out.println(input.nextLine()); - This will print
//correctly to the console
}
out.close();
} catch (FileNotFoundException e) {
System.out.println("File Not Found");
}
答案 0 :(得分:0)
打印作家使用缓冲作家。它不会立即写入磁盘。调用println
,printf
或format
方法时,如果启用了自动刷新,它将写入磁盘。否则,您必须调用flush
方法才能写入磁盘。通常,调用close
方法时应将缓冲区中的内容写入文件,而无需使用flush
方法。
https://docs.oracle.com/javase/7/docs/api/java/io/PrintWriter.html