我在java安装程序中拥有所有代码,但是如何复制控制台的输出并将其转到output.txt文件?我在顶部有这个代码:
Scanner console = new Scanner(System.in);
System.out.print("Enter Input file name: ");
String inputFileName = console.next();
System.out.print("Output file: ");
String outputFileName = console.next();
File inputFile = new File(inputFileName);
Scanner in = new Scanner(inputFile);
PrintWriter out = new PrintWriter(outputFileName);
它提示我输入输入文件(input.txt)和输出文件(output.txt)。当我输入所有信息时,它会创建一个输出文件,但不会写入任何内容。我需要将控制台输出写入文件中。
答案 0 :(得分:3)
好像你可能遇到了线程问题。您可能需要在新线程中运行以下命令(如图所示)
class myRunner implements Runnable {
public void run() {
while (true) {
String ln = in.nextLine();
out.println(ln);
}
}
}
new Thread(new myRunner()).start();
答案 1 :(得分:2)
尝试这样的事情,你可以输出到控制台和输出文件,你不是真的“复制”。
System.out.println("whatever console output");
if (Files.notExists(outputFileName)) {
try {
File file = new File("output.txt");
try (BufferedWriter output = new BufferedWriter(new FileWriter(file))) {
output.write("console output, blah blah");
output.newLine();
output.close();
}
} catch ( IOException e ) {}
您可以将控制台输出存储为数组列表,并将其迭代到该输出文件
for(i = 0, i < ArrayList.length, i++) {
output.write(i);
output.newLine();
}
output.close();