私はFileInputStreamを使用して毎秒ファイルを読み取るJavaアプリを書いています(それは別のスレッドの無限ループ内にあり、その後1秒間スリープします)
ファイルは別のアプリケーションで開かれます。
他のアプリケーションでファイルを保存しようとすると、ファイルが別のプログラムによって使用されているというエラーメッセージが表示されます。
FileLock APIを読み、書き込みと読み取りでロックとリリースを実装しました。
FileOutputStream fos = new FileOutputStream(file);
FileLock fileLock = fos.getChannel().lock();
if (fileLock != null) {
fos.write(fileContent);
fileLock.release();
}
fos.close();
2つのアプリケーションがアクセスしているファイルのファイルロックを無効にするにはどうすればよいですか?
ありがとうございました!!
編集:私はWINDOWS7でデバッグしています