Как определить, когда USB-накопитель подключен к компьютеру в Windows, Linux или Mac?
Единственный способ, который я видел в Интернете, - это перебирать диски, но я не думаю, что есть очень хороший способ сделать эту кросс-платформу (например, File.listRoots() в Linux возвращает только "/" ). Даже в Windows это может вызвать проблемы с чтением с любого устройства, например с сетевого диска, на который требуется много времени.
Существует библиотека под названием jUsb, которая звучит так, как будто она выполняет это в Linux, но она не работает в Windows. Существует также расширение для этого под названием jUsb для Windows, но для этого требуется, чтобы пользователи установили DLL файл и запустили .reg. Ни один из них, похоже, не разрабатывается в течение нескольких лет, поэтому я надеюсь, что теперь будет лучшее решение. Они также слишком малы для того, что мне нужно, когда я только хочу определить, подключено ли устройство, которое содержит файл, который мне нужен.
[Edit] Кроме того, jUsb, по-видимому, не работает с последней версией Java, поэтому это даже не вариант...
Спасибо