如何打开notepad.exe并从Java向其中传递一些数据?

时间:2018-10-29 13:39:29

标签: java

我使用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());
    }
}

}

1 个答案:

答案 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。从给定的字符串构造新文档没有什么用,所以这是您可以获得的最接近的