0

ファイルがどのアプリケーションに関連付けられているかわからない場合に、Java アプリケーションからファイルを編集するにはどうすればよいですか。また、私は Java を使用しているため、プラットフォームに依存しないソリューションを好みます。外部アプリケーションが閉じられた後、ファイルの変更を書き戻したいと思います。編集ファイルはローカル一時ファイルでした。実際のファイルは、サーバー、アーカイブなどに保存されます。

クラスDesktopを使用して、編集用のファイルを開くことができるようになりました。しかし、ファイルが閉じられたかどうかをどのように検出できますか。

4

2 に答える 2

1

外部アプリケーションが不明であり、Java アプリケーションから呼び出されないこのシナリオでは、デーモン スレッドを作成できます。アプリケーションがファイルの場所を知っていると仮定しています。このデーモン スレッドは、ロックが解除されたときに、ファイルのロックとファイルの最終更新時刻を確認できます。最終更新時刻が変更された場合、ファイルが変更されたことがわかります。

別のオプションとして、Apache の FileListener などのサードパーティ API を使用することもできます。これも内部で同じことを行います。

于 2011-03-07T15:57:02.557 に答える
0

「外部アプリケーションを閉じた後、ファイルに変更を書き戻したい」とはどういう意味かわかりません。

外部アプリケーションが終了するのを待つだけの場合は、代わりにRunTimeを使用できます。


Process p = Runtime.getRuntime.exec("mycommand");
p.waitFor()

于 2011-03-07T15:42:13.810 に答える