在我们的应用程序中,我们需要计算文件哈希值,因此我们可以比较文件是否稍后更新。 我现在这样做的方法是使用这个小方法:
ls 2>&1
这一切都很完美,直到代码被部署到不同的环境中,文件文件位于不同的绝对路径中。我想,哈希也考虑了这条路径。 计算文件内容的某种可靠散列的最佳方法是什么,与文件内容保持不变,能够很好地产生与日志相同的结果?
谢谢,
答案 0 :(得分:0)
仔细阅读源代码https://github.com/google/guava/blob/master/guava/src/com/google/common/io/Files.java - 后,文件内容将被哈希处理 - 路径不会发挥作用。
public static HashCode hash(File file, HashFunction hashFunction) throws IOException {
return asByteSource(file).hash(hashFunction);
}
因此您无需担心文件的位置。现在为什么你最终会在不同的fs上使用不同的哈希..也许你应该比较大小/内容以确保例如没有引入复合eol。