Java 中是否有等同于 BasicFileAttributes 的外部库?具体方法fileKey?
Is there an external library equivalent to BasicFileAttributes in Java? Specifically the method fileKey?
对于我正在处理的项目,我需要找到 iNode/FileID。它是操作系统中各个文件的唯一标识符,因此即使它们被重命名或移动,我也可以跟踪它们。
建议我使用 BasicFileAttributes::fileKey 找到它,它应该可以完美运行。我的问题是我需要用 Java 6 开发它,而 BasicFileAttributes 需要 Java 7。
不幸的是,它根本不是使用 Java 7 的选项,所以有人对可以提供相同功能的外部库有任何建议吗?
还提到我可以使用命令提示符(我正在使用 Windows 7)编写一些脚本来尝试找到它。
感谢所有 help/suggestions。
这是我想出的实现:
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 对象即可。
对于我正在处理的项目,我需要找到 iNode/FileID。它是操作系统中各个文件的唯一标识符,因此即使它们被重命名或移动,我也可以跟踪它们。
建议我使用 BasicFileAttributes::fileKey 找到它,它应该可以完美运行。我的问题是我需要用 Java 6 开发它,而 BasicFileAttributes 需要 Java 7。
不幸的是,它根本不是使用 Java 7 的选项,所以有人对可以提供相同功能的外部库有任何建议吗?
还提到我可以使用命令提示符(我正在使用 Windows 7)编写一些脚本来尝试找到它。
感谢所有 help/suggestions。
这是我想出的实现:
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 对象即可。