java - 使用JAVA的单实例文件存储

标签 java file-storage jsr sis

我根据校验和存储了一些文件,但我发现了一个缺陷,即两个校验和有时可能相同。

我总是尝试寻找 API,而不是重新发明轮子,但我找不到任何东西。

我知道 JSR 268 和 JackRabbit 作为内容存储的标准,但我的应用程序已经使用了这些东西很多年了。

那么,是否有使用 Java 进行单实例文件存储的方法,或者我应该继续寻找新的校验和算法?

编辑:

当 numcheck 不工作时:2 个文件完全相同,只是位于不同的文件系统位置。然而,当从客户端发送时,服务器端不可能知道它们之前的路径,因此它是同一个文件两次,校验和相同。

如果您想检索其中任何一个,您如何检查?

想知道是否有标准方法、API 或算法可以帮助我发现差异

最佳答案

无论哈希算法有多强大,总有可能出现 collision 。哈希算法从无限数量的输入生成有限数量的哈希值。

关于java - 使用JAVA的单实例文件存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6838224/

相关文章:

java - JSR 352 分区 block 处理

启用控制台的 Java JVM Eclipse 远程调试

java - 如何使用 spring.config.additional-location 外部化配置?

windows - Amazon S3 的简单且可扩展的非托管替代方案

c++ - *不寻常的*内存节省方法?

properties - 运行后如何删除 Jmeter 中的所有属性?

java - Xmlpullparser 解析嵌套项目

java - Java 字符串中的字符替换

local - 使用连接池时关闭 "local"OrientDB

java - OSGi 规范和 JSR