2012-01-24 32 views
4

Java Desktop.open(File f)を使用して、ユーザーのデスクトップに関連付けられている既定のアプリケーションでファイルを開くユーザーにこのファイルが完了したときに私に情報を与えないでください。どのようにして、ユーザーがこの子プロセスを本当に終了したかを知る方法はありますか?ファイルが保存されたということだけを伝えるものがあります。Java Desktop.open(FIle f)を使用してアプリケーションが完了したことを知る

+2

ファイルのサイズを確認すると、コンテンツが変更されてもサイズが同じであるため、ファイルが保存されているとは言えません。 – Thomas

+0

@トーマス本当にあなたは正しいです。 Javaでこれを達成する適切な方法について、私の答えを確認してください。 – GETah

答えて

0

Desktop.openを使用して確認することはできません。 Desktopクラスを導入する前に、このメソッドを使うことをお勧めします。あなたが....

Runtime rt = Runtime.getRuntime(); 
Process proc = rt.exec(the app and file here); 

注プロセスに従うと、プロセスが終了したときにトリガすることができるより:この答えた後、より良い提案が(私は投票)ゲタによって投稿されました。私はこの答えも残しておきますが、これは十分で簡単なものかもしれません。

3

他のプロセスによって行われた変更をファイル/ディレクトリで確認したい場合は、Java Watch Service APIが適しています。このAPIは、ファイル/ディレクトリを監視し、別のプロセスがそれをタッチしたときに通知を受けるのに役立ちます。

+0

うわー、かなりクールなものは、このAPIを認識していませんでした!パフォーマンス(メモリとプロセッサの使用量)はどのようになっていますか?とにかく、私はこの提案に1つを投票しました。 –

+0

ところで、この質問はどのようにして1ヶ月以上開いていますか?私の答えの5分以内に、これをお勧めしますか? :) –

+0

@ michel.iamit Hehehe、投票に感謝します。私はちょうどこの質問を見た、私は1ヶ月前にそれを逃した必要があります:p – GETah

関連する問題