【发布时间】:2019-08-09 07:14:28
【问题描述】:
想象一台带有 SSD 和 HDD 的 PC。
SSD 分为 2 个分区:C 和 D。
硬盘分为 2 个分区:E 和 F。
我需要创建一个方法:
boolean isOnSamePhysicalDrive(String drive1, String drive2);
isOnSamePhysicalDrive("C", "D") --> 真
isOnSamePhysicalDrive("E", "F") --> 真
isOnSamePhysicalDrive("C", "E") --> 假
【问题讨论】:
-
我认为答案应该只是 windows,因为您使用的是 windows 硬盘名称?
-
是的,它仅适用于 Windows
-
您是否尝试过以与此解决方案类似的方式在stackoverflow.com/questions/327718/how-to-list-physical-disks 的倒数第二个位置访问注册表?
-
如果您在拥有 powershell this 的系统上运行程序,可能是一种方法。除了executing-powershell-commands-in-java.
-
更接近,但有一个问题:我的笔记本电脑当前具有以下设置:SSD 上的 CEF 驱动器、HDD 上的 DGH 驱动器和外置 HDD 上的 I。当我运行命令 'powershell.exe Get-Disk (Get-Partition -DriveLetter 'H').DiskNumber' 时,它会打印 DGH 驱动器的错误。也许是因为 HDD 是动态磁盘?
标签: java hard-drive