我在文件input.txt
中有数据。当我运行程序时,它会创建一个名为output.txt
但不包含数据的文件。如何才能将数据显示在output.txt
?
import java.io.*;
import java.util.*;
public class DisplayFirstLetter {
public static void main(String args[]) {
try {
File input = new File("input.txt");
File output = new File("output.txt");
Scanner sc = new Scanner(input);
PrintWriter printer = new PrintWriter(output);
while(sc.hasNextLine()) {
String s = sc.nextLine();
printer.write(s);
}
}
catch(FileNotFoundException e) {
System.err.println("File not found. Please scan in new file.");
}
}
}
答案 0 :(得分:1)
您需要关闭PrinterWriter才能写入output.txt文件。 定义扫描仪和打印机的推荐方法是使用尝试使用资源。扫描仪和打印机将在所有情况下自动关闭,包括抛出异常时的情况。
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;
public class DisplayFirstLetter {
public static void main(String args[]) {
File input = new File("input.txt");
File output = new File("output.txt");
try (Scanner sc = new Scanner(input);
PrintWriter printer = new PrintWriter(output)) {
while (sc.hasNextLine()) {
String s = sc.nextLine();
printer.write(s);
}
} catch (FileNotFoundException e) {
System.err.println("File not found. Please scan in new file.");
}
}
}