2016-12-19 5 views
0

Если у меня есть путь к java, например «/users/james/.myapp/», могу ли я определить имя физического диска (то есть \\.\PHYSICALDRIVE0), используя только java apis?Могу ли я сопоставить путь к имени физического диска Windows в Java?

Я думал, что это может быть возможно, потому что вы можете ссылаться на физический диск в Java:

new RandomAccessFile("\\\\.\\PhysicalDrive0", "r");

+0

[ 'File.listRoots()'] (https://docs.oracle.com/javase/8/ документы/API/Java /io/File.html#listRoots--). –

+0

@Elliott Это дает мне письмо, например «C: \ D: \». Есть ли способ получить имя физического диска? – simgineer

+0

На самом деле кажется, что вы можете, хотя я и не собираюсь это делать. Я просто собираюсь найти номер модели диска, используя wmic. Ответ на этот вопрос показывает пример чтения с физического диска с использованием файла произвольного доступа: http://stackoverflow.com/questions/22161967/accessing-windows-disks-directly-with-java-nio – simgineer

ответ

1

Если вам нужно решение, чтобы проверить номер привода модели в Windows, вы можете попробовать, чтобы прочитать это через Реестр Windows, некоторые полезные документ можно найти здесь: read/write to Windows Registry

Современные накопители могут быть найдены в HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices