0

別の文字を入力した後、メモ帳(C:\ a.txt)を実行したい。

このコードはメモ帳でa.txtを開きますが、「Java」と書いているときに、コンソールのJavaを表示したいと思います。「thenJava」と書いた後、コンソール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());
}
4

2 に答える 2

1

このように何が起こっているのかを読むことはできませんNotepad

getInputStream()/プロセスの標準入力と標準出力への書き込み読み取りgetOutputStreamを許可しますが、これらのストリームは通常、デスクトップ アプリケーションのユーザー インターフェイスとは何の関係もありません。メモ帳は、そのユーザー インターフェイスで発生したことをこれらのストリームにエコーしません。

ファイル システムでa.txtへの変更を監視できますが、これは、メモ帳で変更するたびにファイルを保存していることを前提としています。

于 2012-08-22T21:48:02.900 に答える
0

ファイルが開かれている間に変更を検出したい場合は、https://blogs.oracle.com/thejavatutorials/entry/watching_a_directory_for_changes#registerを使用して、提供したコードでファイルを再読み込みできます

于 2012-08-22T21:49:23.333 に答える