如何在 java 代码中使用 logcat 命令?

how to use logcat commands within java code?

我想在我的 java 代码中使用 "adb logcat -d > C:\Users\lenovo 01\Documents\android\sdk\platform-tools" 命令行命令。这直接在命令提示符下工作,但在 java 代码中不起作用。 例如:

pb = new ProcessBuilder("adb", "logcat", "-d", ">", "C:\android\cellograf.txt");
pc = pb.start();
pc.waitFor();       
System.out.println("written");

当我执行此操作时,没有任何反应。它只写 "written" 但文件是空的。当我在命令提示符下 运行 此命令时,它可以正常工作并将所有 logcat 输出写入该文件。我做错了什么?

将输出重定向到文件是命令解释器的一个功能;这不是流程本身可以执行的事情。尝试将 cmd /c 附加到命令的开头:

pb = new ProcessBuilder("cmd", "/c", "adb", "logcat", "-d", ">", "C:\android\cellograf.txt");