0
PrintStream out;
try {
   out = new PrintStream(new FileOutputStream( "C:\\RandomWalkResultater.txt", true));
   System.setOut(out);

它不是在 C 中创建 txt 文件:顺便说一句,这在 mac 中可以正常工作,使用:

PrintStream out;
try {
     out = new PrintStream(new FileOutputStream("/Volumes/DATA/Desktop/RandomWalkResultater.txt", true));
            System.setOut(out);
4

3 回答 3

0

不要忘记在使用后关闭您的 Stream,最好在 finally 块中执行此操作,这样几乎可以保证完成。此外,当您声明 out 变量时,最初将其设置为,null以便编译器会看到您在使用它之前将其设置为某个值。做这样的事情:

  // declare your Stream variable and initialize to null
  PrintStream out = null; 
  try {
     // FILE_STREAM_PATH is a String constant to your output path
     out = new PrintStream(new FileOutputStream(FILE_STREAM_PATH, true));
     System.setOut(out);

     // use your Stream here

  } catch (FileNotFoundException e) {
     e.printStackTrace();
  } finally {
     // ***** close the Stream in the finally block *****
     if (out != null) {
        out.close();
     }
  }
于 2013-11-09T16:03:58.117 回答
0

以下代码对我很有效

final SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd.HH-mm" );
final String log = "C:/" + sdf.format( new Date());
System.setOut( new PrintStream( new FileOutputStream( log + "-out.txt" ), true ));
System.setErr( new PrintStream( new FileOutputStream( log + "-err.txt" ), true ));

结果 :

在此处输入图像描述

于 2013-11-09T15:54:57.503 回答
-1

new File("C:\\RandomWalkResultater.txt").createNewFile()如果要创建文件,请尝试使用。

于 2013-11-09T15:54:32.060 回答