我使用Java ProcessBuilder打开notepad.exe,但无法使用OutputStream将文本传递给它。以下是我的代码:
public class Notepad {
public static void main(String[] args) throws IOException, InterruptedException {
ProcessBuilder pb=new ProcessBuilder("notepad.exe");
Process process=pb.start();
OutputStream d=process.getOutputStream();
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
d.write(sc.nextInt());
}
}
}
答案 0 :(得分:5)
记事本将文件作为参数。您可以从命令行中调用它:
notepad.exe C:/path/to/my/file/tmp.txt
这是您的Java代码调用的样子:
ProcessBuilder pb = new ProcessBuilder("Notepad.exe", "C:/path/to/my/file/tmp.txt");
pb.start();
记事本does not provide many command line arguments。从给定的字符串构造新文档没有什么用,所以这是您可以获得的最接近的
。