Как узнать серийный номер диска в java?
Мне нужно узнать серийный номер диска используя java
, как можно это сделать? В python
можно использовать pywin32
, есть ли что-то похожее для java
?
Источник: Stack Overflow на русском
Мне нужно узнать серийный номер диска используя java
, как можно это сделать? В python
можно использовать pywin32
, есть ли что-то похожее для java
?
Для Windows можно вызвать команду wmic
: wmic diskdrive get serialnumber
:
String sc = "cmd /c" + "wmic diskdrive get serialnumber";
Process p = Runtime.getRuntime().exec(sc);
p.waitFor();
StringBuilder sb = new StringBuilder();
try (BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()))) {
String line;
while ((line = reader.readLine()) != null) {
sb.append(line);
}
}
System.out.println("HDD Serial number: " + sb.substring(sb.toString().lastIndexOf("r") + 1).trim());
С помощью библиотеки OSHI (Operating System and Hardware Information library for Java) серийные номера можно вывести так:
SystemInfo info = new SystemInfo();
info.getHardware().getDiskStores()
.stream()
.map(HWDiskStore::getSerial)
.forEach(System.out::println);