从文件系统获取文件 CRC 的一些方法?
Some way to get files CRC from file system?
在花了大约两个小时搜索 "java get file CRC from MTF" 和几十个变体后,我终于在那里问 "the office" :
在基于 Debian 的系统上的 Java 8+ 中,有没有一些方法可以在没有 reading/processing 文件的情况下读取文件 CRC?
谢谢大家
大多数文件系统不会为每个文件存储 CRC 校验和,因为每次写入文件时重新计算 CRC 的计算量很大。这意味着没有地方可以检查文件校验和,因此 Java 不会公开 API 来执行此操作。
@Thymine 写了一个答案,解释了为什么在类似的问题中不可能在不读取文件的情况下获得校验和:
但是,您可以通过读取此代码示例中所示的文件来生成校验和。但你可能已经知道了。
public static void main(String[] args) throws Exception {
byte[] data = Files.readAllBytes(Paths.get("path/to/file.ext"));
Checksum checksum = new CRC32();
checksum.update(data);
System.out.println("CRC32 Checksum: "+ checksum.getValue());
}
在花了大约两个小时搜索 "java get file CRC from MTF" 和几十个变体后,我终于在那里问 "the office" :
在基于 Debian 的系统上的 Java 8+ 中,有没有一些方法可以在没有 reading/processing 文件的情况下读取文件 CRC?
谢谢大家
大多数文件系统不会为每个文件存储 CRC 校验和,因为每次写入文件时重新计算 CRC 的计算量很大。这意味着没有地方可以检查文件校验和,因此 Java 不会公开 API 来执行此操作。
@Thymine 写了一个答案,解释了为什么在类似的问题中不可能在不读取文件的情况下获得校验和:
但是,您可以通过读取此代码示例中所示的文件来生成校验和。但你可能已经知道了。
public static void main(String[] args) throws Exception {
byte[] data = Files.readAllBytes(Paths.get("path/to/file.ext"));
Checksum checksum = new CRC32();
checksum.update(data);
System.out.println("CRC32 Checksum: "+ checksum.getValue());
}