Различать CD-привод и жесткий диск в Java - PullRequest
1 голос
/ 29 мая 2010

Как отличить CD-Drive от жесткого диска в Java?

Ответы [ 3 ]

1 голос
/ 29 мая 2010

Здесь - это решение, которое я нашел с помощью VBScript . Нативная Java не различает CD-Drive и обычные приводы, она просто файлы и каталоги.

Но это решение будет работать только на Windows .

Другое решение для Windows - JNA

Итак, для машин на базе Linux вы можете вызвать команду linux из вашего кода Java. Вызовите bash-скрипт.

0 голосов
/ 29 мая 2010

Вероятно, не очень хорошее решение, но когда я использую следующий код в Windows:

FileSystemView fsv = FileSystemView.getFileSystemView();
System.out.println(fsv.getSystemDisplayName( new File("c:\\") ) );
System.out.println(fsv.getSystemDisplayName( new File("d:\\") ) );

Я получаю следующий вывод:

Локальный диск (C:)
Аудио CD (D:)

Так, может быть, есть стандартные отображаемые имена, которые вы можете проверить?

0 голосов
/ 29 мая 2010

Я не думаю, что вы можете сделать это с полной уверенностью, на чистой Java.

Почему тебя это должно волновать? Что вам, вероятно, нужно сделать, это провести различие между файлами или каталогами, в которые вы можете писать, и теми, в которые вы не можете писать. Класс java.io.File имеет методы для этого. В качестве альтернативы, если вам известна точка монтирования (UNIX) или дисковод (Windows), который обычно используется для монтирования компакт-дисков на вашем компьютере, вы можете провести различие на основе абсолютных путей. Еще раз, File даст вам это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...