Java帮助(文件流)

标签 java stream runtime.exec

我想在输入另一个字符后执行记事本(C:\a.txt)。

这段代码用记事本打开a.txt,但是当我写“Java”时,我想显示我的控制台Java。当我写完“然后 Java”后,我想显示我的控制台“Java 然后 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());
}

最佳答案

您将无法通过这种方式阅读记事本中发生的情况。

getInputStream()/getOutputStream 允许您写入读取 standard input and output进程的一部分,但这些流通常与桌面应用程序的用户界面无关。记事本不会将其用户界面中发生的事情回显到这些流。

您可以监视文件系统中对 a.txt 的更改,但这假设您在记事本中保存每次更改后的文件。

关于Java帮助(文件流),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12081861/

相关文章:

java - 为什么 Java Runtime.exec 命令可以工作,但 ProcessBuilder 无法执行 Perforce 客户端命令?

java - Exec 在错误的计算机上运行程序?

java - 杀死在 Java 中调用的子进程的问题

delphi - Delphi THandleStream 中的 CreateFile Windows 错误

c++ - 从文件读取值时附加到输出的垃圾

java - 停止播放音频/广播并取消返回主屏幕的通知控制,音乐停止,通知停止,前台服务不起作用

java - Flink 1.4 AvroUtils 报错

java - JTable 面板中显示白框,原因不明

java - 如何在 Activiti Service Task 中立即将实体持久保存/提交到数据库

JavaOS/更快地运行 java 字节码