我想在输入另一个字符后执行记事本(C:\a.txt)。
这段代码使用记事本打开a.txt,但是当我写" Java“时,我想要显示我的控制台Java。在我写完“then Java”之后,我想向我的控制台展示Java then Java“。
Process process = Runtime.getRuntime().exec("notepad.exe C:\\a.txt");
InputStreamReader read = new InputStreamReader(process.getInputStream());
while(read.read() != -1){
System.out.println(read.read());
}发布于 2012-08-23 05:48:03
您将无法以这种方式阅读Notepad中发生的事情。
getInputStream()/getOutputStream允许您对进程的standard input and output进行写入和读取,但这些流通常与桌面应用程序的用户界面无关。记事本不会将其用户界面中发生的事情回显到这些流中。
您可以监视文件系统中对a.txt的更改,但这假设您在记事本中每次更改后都会保存该文件。
发布于 2012-08-23 05:49:23
如果要在打开文件时检测更改,可以使用https://blogs.oracle.com/thejavatutorials/entry/watching_a_directory_for_changes#register,然后使用提供的代码重新读取文件
https://stackoverflow.com/questions/12081861
复制相似问题