Java can';t将输出流保存到文件
此代码在计算机A上正常工作,在计算机B上不工作。。。我不明白为什么。。 没有异常或任何其他…在计算机上创建了日志文件,在计算机B上没有创建日志文件。 计算机A和B有相同的Java版本。。。 你有什么想法吗Java can';t将输出流保存到文件,java,stream,output,Java,Stream,Output,此代码在计算机A上正常工作,在计算机B上不工作。。。我不明白为什么。。 没有异常或任何其他…在计算机上创建了日志文件,在计算机B上没有创建日志文件。 计算机A和B有相同的Java版本。。。 你有什么想法吗 String str = "cmd /C dir tools>1.log"; try { Runtime.getRuntime().exec(str); } catch (Exception e) { e.printStackTr
String str = "cmd /C dir tools>1.log";
try {
Runtime.getRuntime().exec(str);
} catch (Exception e) {
e.printStackTrace();
}
PS
这段代码在两台计算机上都能正常工作
String str = "cmd /C dir tools";
按照SLaks的说法——最好使用内置的文件API。
下面是一个通用教程的示例
使用这些API将解决计算机A到B…到C等任何奇怪的环境问题。您必须打开进程的输出流才能将输出正确地保存到文件中 您可以通过创建流程对象并将其保存到文件来执行此操作:
Process p = Runtime.getRuntime().exec(str);
InputStreamReader reader = p.getInputStream();
BufferedReader buffer = new BufferedReader(reader);
String line = null;
while ((line = buffer.readLine() != null) {
//write stuff to file here
}
您应该使用Java的内置文件API。您是否检查了permissionstry以输出由string指定的命令,但仍然/KI了解此方法,它工作正常,但我不理解为什么我的方法不工作我相信这在之前已经讨论过,但我找不到这篇文章。请看这里:第4.6节应该解释我知道的,但我不明白为什么我的方法不起作用。。。你能解释一下我的情况有什么问题吗