我正在编写一个 java 应用程序,它使用 FileInputStream 每秒读取一个文件(它在一个单独的线程中的无限循环内,然后休眠 1 秒)
该文件在另一个应用程序中打开。
当我尝试将文件保存在另一个应用程序中时,我收到一条错误消息,指出该文件正在被另一个程序使用。
我阅读了 FileLock API,并在写入和读取时实现了锁定和释放:
FileOutputStream fos = new FileOutputStream(file);
FileLock fileLock = fos.getChannel().lock();
if (fileLock != null) {
fos.write(fileContent);
fileLock.release();
}
fos.close();
如何禁用 2 个应用程序正在访问的文件的文件锁定?
谢谢!!
编辑:我在 WINDOWS 7 上调试