是否有一个与Java中的BasicFileAttributes等效的外部库?特别是方法fileKey?

时间:2015-06-19 23:41:32

标签: java uniqueidentifier inode

对于我正在进行的项目,我需要找到iNode / FileID。它是操作系统中各个文件的唯一标识符,因此即使重命名或移动它们,我也可以跟踪它们。

建议我使用BasicFileAttributes :: fileKey来查找它,它应该可以正常工作。我的问题是我需要用Java 6开发它,而BasicFileAttributes需要Java 7。

不幸的是,它根本不是使用Java 7的选项,所以有没有人对可以提供相同功能的外部库有任何建议?

还提到我可以使用命令提示符(我使用Windows 7)来尝试找到它。

感谢您提供的所有帮助/建议。

1 个答案:

答案 0 :(得分:1)

这是我提出的实施方案:

public static class FileKey {
    private File file;
    public FileKey(File file) {
        this.file=file;
    }

    @Override
    public int hashCode() {
        long res = file.length();
        res+=file.lastModified();
        if(file.isHidden())
            res+=2;
        if(file.isDirectory()) {
            res+=3;
        }
        return (int) res;
    }

    @Override
    public boolean equals(Object dst) {
        if(dst instanceof FileKey) {
            int dstHashCode = ((FileKey) dst).hashCode();
            return dstHashCode == this.hashCode();
        }
        return false;
    }
}

只需将其用作fileKey对象。