【问题标题】:File Scanner in java programmejava程序中的文件扫描器
【发布时间】:2015-02-16 23:58:06
【问题描述】:

我有一个监控文件夹中文件的 java 代码,文件由 ftp 通过表从另一个系统删除。我如何确保我不会拾取不完整的文件?删除的文件是 XML 文件。

【问题讨论】:

  • 不完整是指还没有完全复制?
  • 如果可能的话,我会让复制系统在完全复制后重命名为某个扩展名。

标签: java xml xml-parsing


【解决方案1】:

尝试锁定文件。如果不完整,则无法锁定:

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;
}

如果它是可锁定的,则文件是完整的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    • 1970-01-01
    • 2011-04-20
    • 1970-01-01
    相关资源
    最近更新 更多