我想使用" adb logcat -d> C:\ Users \ lenovo 01 \ Documents \ android \ sdk \ platform-tools"我的java代码中的命令行命令。这可以直接在命令提示符下工作,但它不能在java代码中工作。 例如:
pb = new ProcessBuilder("adb", "logcat", "-d", ">", "C:\\android\\cellograf.txt");
pc = pb.start();
pc.waitFor();
System.out.println("written");
当我执行此操作时,没有任何反应。它只写"写'#34;但文件是空的。当我在命令提示符下运行此命令时,它正常工作并将所有logcat输出写入该文件。我做错了什么?
答案 0 :(得分:1)
将输出重定向到文件是命令interpeter的一项功能;它不是流程本身可以执行的东西。尝试将cmd /c
附加到命令的开头:
pb = new ProcessBuilder("cmd", "/c", "adb", "logcat", "-d", ">", "C:\\android\\cellograf.txt");