Java 如何获取控制台输出(例如在eclipse上)并将相同的输出写入/复制到文件?
我知道这类问题已经被问过很多次了。但我没有为自己找到任何答案。这就是为什么我要再问一次 我的控制台上有一个输出。我想将相同的输出1对1复制到一个文件中。我不想改变方向。我想要某种“复制”它并“写入”到文件中。 我希望这个问题足够清楚,因为我以前看到过,这个问题不清楚 不管怎样,我已经用“系统出发”的方法试过了。但它只是将所有内容重定向到文件。 我不能用write()将所有的“System.out.println”写入一个文件,太多了Java 如何获取控制台输出(例如在eclipse上)并将相同的输出写入/复制到文件?,java,file-io,system,nio,printstream,Java,File Io,System,Nio,Printstream,我知道这类问题已经被问过很多次了。但我没有为自己找到任何答案。这就是为什么我要再问一次 我的控制台上有一个输出。我想将相同的输出1对1复制到一个文件中。我不想改变方向。我想要某种“复制”它并“写入”到文件中。 我希望这个问题足够清楚,因为我以前看到过,这个问题不清楚 不管怎样,我已经用“系统出发”的方法试过了。但它只是将所有内容重定向到文件。 我不能用write()将所有的“System.out.println”写入一个文件,太多了 谢谢您的帮助。您无法获得控制台输出。在打印之前,你必须做所有的
谢谢您的帮助。您无法获得控制台输出。在打印之前,你必须做所有的事情 要将数据写入文件,请执行以下操作
try{
FileWriter x = new FileWriter(new File("x.txt"));
x.write("hello");
}catch(IOExecption e){
}
这将向一个文件写入hello(你好)您可以这样做,系统将在登录到文件后退出。 此代码将附加。请注意,这不是一个很好的异常处理示例,只是一个您可以做的示例
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();
}
}
不要使用系统输出,只需写入文件即可。。这可能会满足您的需求Thanx@肯尼斯:我早就发现了。但这里的问题是,它只是通过while和for循环,并在文件中写入最后的输出。我想它只是写得太多了,但我怎么能做到呢?我得到了这个:FileOutputStream myFile=newfileoutputstream(task.getResultFile());PrintStream输出=新的PrintStream(in);然后每次调用System.out.println()时,我也会调用output.println()。但问题是,正如我对Kenneth所说的,它会覆盖文件中的所有其他行并打印,只打印最后一个短语,因为我正在使用while和for循环。您需要在FileWriter上调用
flush()
方法,将缓冲区的内容写入目标文件。