1

この種の質問が何度も出されていることは承知しています。しかし、私は自分自身のための答えを見つけられませんでした。だからこそ、もう一度問います。

コンソールに出力があります。同じ出力を 1 対 1 でファイルにコピーしたい。リダイレクトしたくありません。ある種の「コピー」と「書き込み」がファイルに必要です。質問が十分に明確であることを願っています。なぜなら、他の時には質問が明確ではなかったことがわかったからです。

とにかく、「System.setOut」メソッドで試してみました。ただし、すべてをファイルにリダイレクトするだけです。write() を使用してすべての「System.out.println」をファイルに書き込むことはできません。

助けてくれてありがとう。

4

2 に答える 2

0

コンソール出力を取得する方法はありません。印刷前にすべてを行う必要があります

ファイルに書き込むには、次のようにします。

try{

FileWriter x = new FileWriter(new File("x.txt"));
x.write("hello");

}catch(IOExecption e){

}

hello をファイルに書き込みます

于 2014-05-05T18:25:03.523 に答える
0

このようなことを行うことができます。ファイルへのログの後にシステムアウトが発生します。このコードが追加されます。これは例外処理の良い例ではありません。できることの例にすぎません。

  protected void writeToFileAndLog(String logEntry)
  {
    String file = "MyAmazingLog.txt";
    try
    {

      FileOutputStream appendedFile = new FileOutputStream(file, true);
      DataOutputStream out = new DataOutputStream(appendedFile);

      out.writeBytes(String.format("%s\n", logEntry));
      out.flush();
      out.close();
      System.out.println(logEntry);
    }
    catch (FileNotFoundException e)
    {
      e.printStackTrace();
    }
    catch (IOException e)
    {
      e.printStackTrace();
    }
  }
于 2014-05-06T04:36:25.877 に答える