0

除了文件的绝对路径之外,有没有办法唯一地标识sdcard上的文件?File 类确实有一个继承的方法hashCode(),但我不确定这是否可以。

4

2 回答 2

0

对于几乎所有目的,文件路径应该足够独特。

我确信这hashCode()是基于内部表示并且可能会改变。

于 2013-05-24T20:54:45.210 回答
0

您可以随时查看java源代码并查看该hashCode()函数在做什么。从文件类源代码

  • 哈希码()

    计算此抽象路径名的哈希码。因为抽象路径名的相等性本质上是系统相关的,所以它们的哈希码的计算也是如此。在 UNIX 系统上,抽象路径名的哈希码等于其路径名字符串的哈希码和十进制值 1234321 的异或。在 Microsoft Windows 系统上,哈希码等于其路径名字符串转换为小写和十进制值 1234321。在小写路径名字符串时不考虑区域设置。

如您所见,该hashCode()函数正在基于路径名创建哈希,因此您可以使用它来比较 2 个文件,而不是使用getAbsolutePath().

于 2013-05-24T21:43:10.350 回答