如何在 java 中创建输出文件?

How to create an output file in java?

我的所有代码都在 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)。当我输入所有信息时,它会创建一个输出文件,但其中没有任何内容。我需要将控制台输出的内容写入文件。

您似乎遇到了线程问题。您可能需要在新线程中 运行 以下内容(如图所示)

class myRunner implements Runnable {
  public void run() {
    while (true) {
      String ln = in.nextLine();
      out.println(ln);
    }
  }
}
new Thread(new myRunner()).start();

尝试这样的事情,你可以输出到控制台和输出文件,你不是真的 "copying"。

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();