2013-08-27 2 views
0

Я знаю, что вопросы, подобные этому, были заданы раньше, но я не мог найти более свежих, и у меня есть поворот в моем вопросе.Извлечь USB-накопитель из Java

Я разработал приложение на Java, предназначенное для работы на съемных носителях и работающее как на Windows, так и на Mac. Я хотел бы добавить кнопку для безопасного удаления/извлечения устройства, если оно поддерживается (например, USB-накопитель). Есть ли в командной строке для каждой операционной системы, которая позволила бы мне это сделать?

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

Заранее спасибо

ответ

2

Это то, что вы должны сделать, вызвав вспомогательное приложение. Эти приложения не являются независимыми от платформы, как вы пожелаете. Итак, для этого выясните, с какой ОС вы работаете, используя System.getProperty("os.name") и вызывайте соответствующую команду для обнаруженной ОС. Вызов приложений выполняется с помощью Runtime.getRuntime().exec(). Найдите команды, необходимые для каждой ОС.

+0

Спасибо за ваш ответ. Знаете ли вы, есть ли другой способ извлечения диска в Windows, кроме 'diskpart' (без использования внешней утилиты)? Кроме того, будет ли извлечен диск, если моя программа все еще запущена и запущена из нее? – Andy

+0

Нет, я не пользователь Windows. Просто выполните поиск и тест, пока он не будет работать. Для второго вопроса просто убедитесь, что на диске больше нет открытых файлов. –

+0

Хорошо спасибо. Это достаточно справедливо – Andy

Смежные вопросы