获取java中磁盘的uinique标识符

获取java中磁盘的uinique标识符,java,uuid,Java,Uuid,我需要在我的程序中识别磁盘,并且不想仅仅为了这个目的而在上面存储文件。除了设置神秘的磁盘名,还有其他方法吗? 如果解决方案与平台无关,那就太好了,但它最终必须在Windows上运行。使用Java 7,您可以实现以下目标: for (final FileStore store: FileSystems.getDefault().getFileStores()) System.out.println(store.name()); 注意:您还有store.type(),store.toStr

我需要在我的程序中识别磁盘,并且不想仅仅为了这个目的而在上面存储文件。除了设置神秘的磁盘名,还有其他方法吗?
如果解决方案与平台无关,那就太好了,但它最终必须在Windows上运行。

使用Java 7,您可以实现以下目标:

for (final FileStore store: FileSystems.getDefault().getFileStores())
    System.out.println(store.name());
注意:您还有
store.type()
store.toString()


当然,它们的输出取决于系统

可能是-AdrianMitev与Java 7的复制。如果我理解正确,您不再需要这种黑客攻击。这将是一个解决方案,我需要为每个设备设置唯一的名称(我指的是神秘的磁盘名称),因为这只给我设备的名称,而不是某种类型的uuid;每个系统都保证文件存储名称是唯一的。这需要是唯一的跨系统,但是,您必须将其与其他一些独特的信息混合在一起。对我来说,即使在一个系统上,它似乎也不是唯一的:如果我连接两个名为“卷”的USB驱动器,它们都将显示为我想要避免的“卷”。也许您可以使用
.toString()
?我需要备份几百个U盘上的文件(数量会随着时间的推移而增加),以修复系统上的文件夹。这些棍棒将交给一个组织的工作人员,在棍棒上保存用于识别的文件在过去是一个巨大的问题,因为有人不小心删除了这些文件。因此,我需要通过每个U盘特有的uuid类型来识别这些U盘。每次我把棍子按不同的顺序排列时,toString()都会发生变化。