Как узнать серийный номер диска в java?
Мне нужно узнать серийный номер диска используя java, как можно это сделать? В python можно использовать pywin32, есть ли что-то похожее для java?
Ответы (2 шт):
Автор решения: Nowhere Man
→ Ссылка
Для 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());
Автор решения: siarhei987
→ Ссылка
С помощью библиотеки OSHI (Operating System and Hardware Information library for Java) серийные номера можно вывести так:
SystemInfo info = new SystemInfo();
info.getHardware().getDiskStores()
.stream()
.map(HWDiskStore::getSerial)
.forEach(System.out::println);