Java测试盘是SSD还是HDD
Posted
技术标签:
【中文标题】Java测试盘是SSD还是HDD【英文标题】:Java Test disk is SSD or HDD 【发布时间】:2017-10-04 17:26:18 【问题描述】: 我搜索了很多关于它但我没有找到任何东西。 我有一个来自“File f = File.getRoots().get(0);”的文件,我会测试这个驱动器是 SSD 还是 HDD。这可能吗? 这是一些伪代码,您可以看到我需要它:
File f = myFile.getRoot();
if(isSSD(f))
System.out("We will write to SSD are you sure?");
如果有人知道如何编写public static isSSD(File f)
方法,请帮助。
我知道没有跨平台解决方案,所以我想我需要一个用于 linux mac 和 windows 的解决方案:
if(System.getProperty("os.name").contains("Windows"))
//The code for Win
else if(System.getProperty("os.name").contains("UNIX"))
//The code for linux
else if(System.getProperty("os.name").contains("Mac"))
//The code for mac
感谢解答。
【问题讨论】:
这很可能取决于操作系统。您需要跨平台解决方案吗? 不行,不能跨平台。 那你的目标是什么操作系统? 我可以使用:if(System.getProperty("os.name").contains("Windows")) //Do the windows check
linux和mac也一样
【参考方案1】:
每个操作系统都有一些方法,但在原生 Java 中没有,因此可能需要一些时间来适应 Java(JNI 调用等)。例如:
Linux:Is there any way of detecting if a drive is a SSD? 窗口:Detecting SSD in Windows OSX:How to detect SSD in Mac OS X?或者,您可以运行基准测试并检查顺序读取和随机读取是否具有相似的性能 (SSD) 或不 (HDD)。您需要考虑缓存等。
【讨论】:
以上是关于Java测试盘是SSD还是HDD的主要内容,如果未能解决你的问题,请参考以下文章