我有一个监控文件夹中文件的java代码,ftp通过表从另一个系统中删除这些文件。我如何确保我不拿起不完整的文件?删除的文件是XML文件。
答案 0 :(得分:0)
尝试锁定文件。如果不完整,则无法锁定它:
private boolean isFileComplete(File file) {
FileLock lock = null;
FileChannel channel = null;
try {
channel = new RandomAccessFile(file, "rw").getChannel();
lock = channel.lock();
} catch (Exception e) {
e.printStackTrace();
return false;
} finally {
if (lock != null)
try {
lock.release();
channel.close();
} catch (IOException e) {
//Keine Behandlung Notwendig
}
}
return true;
}
如果可以锁定,则文件已完成。