对于我正在进行的项目,我需要找到iNode / FileID。它是操作系统中各个文件的唯一标识符,因此即使重命名或移动它们,我也可以跟踪它们。
建议我使用BasicFileAttributes :: fileKey来查找它,它应该可以正常工作。我的问题是我需要用Java 6开发它,而BasicFileAttributes需要Java 7。
不幸的是,它根本不是使用Java 7的选项,所以有没有人对可以提供相同功能的外部库有任何建议?
还提到我可以使用命令提示符(我使用Windows 7)来尝试找到它。
感谢您提供的所有帮助/建议。
答案 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对象。