在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();