在Java程序中判断文件是否正在被其它应用程序写,可以用文件锁来解决,文件锁方案需要底层操作系统支持,在不同的系统中可能有不同的效果。
FileInputStream fis = new FileInputStream(file);
FileChannel fc = fis.getChannel();
// 试图获取对此通道的文件的独占锁定
// 如果由于另一个程序保持着一个重叠锁定而无法获取锁定,则返回 null
FileLock fl = fc.tryLock();
if(fl == null){
fc.close();
fis.close();
return false;
}
fl.release();
fc.close();
fis.close();
本文介绍了一种使用Java的文件锁机制来判断文件是否正被其他应用程序写入的方法。通过FileInputStream和FileChannel获取文件的独占锁,若无法获得则说明文件正在被写入。

6650

被折叠的 条评论
为什么被折叠?



