【发布时间】:2015-02-16 23:58:06
【问题描述】:
我有一个监控文件夹中文件的 java 代码,文件由 ftp 通过表从另一个系统删除。我如何确保我不会拾取不完整的文件?删除的文件是 XML 文件。
【问题讨论】:
-
不完整是指还没有完全复制?
-
如果可能的话,我会让复制系统在完全复制后重命名为某个扩展名。
标签: java xml xml-parsing
我有一个监控文件夹中文件的 java 代码,文件由 ftp 通过表从另一个系统删除。我如何确保我不会拾取不完整的文件?删除的文件是 XML 文件。
【问题讨论】:
标签: java xml xml-parsing
尝试锁定文件。如果不完整,则无法锁定:
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;
}
如果它是可锁定的,则文件是完整的。
【讨论】: