【问题标题】:How to create an output file in java?如何在java中创建输出文件?
【发布时间】:2015-06-15 05:29:27
【问题描述】:

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

【问题讨论】:

标签: java file console output


【解决方案1】:

看来您可能遇到了线程问题。您可能需要在新线程中运行以下命令(如图所示)

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

【讨论】:

  • 谢谢,这有帮助。我没有输入 out.println()。这是一个可怕的错误,不容错过。
【解决方案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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-20
    • 1970-01-01
    • 2018-08-27
    • 2018-07-25
    • 2019-02-20
    • 2011-03-02
    • 2011-02-27
    相关资源
    最近更新 更多