检测/validationSD卡驱动器
有没有办法检测连接到台式计算机的所有SD卡驱动器? 在Windows中,SD卡在视觉上与其他设备(如内置硬盘驱动器或类似设备)截然不同。 有没有办法判断一个驱动器是否是SD卡驱动器?
例如,列出所有可用文件系统根的Java方法是使用listRoots()
方法,但它无法告诉文件系统类型,如外部,内部,操作系统驱动器等等。
这在纯Java中甚至可能吗?
注意:
我不是要求检测Android手机SD卡,因为这些是搜索我的问题时的结果。
这个答案解决了它。
示例代码:
USBDeviceDetectorManager manager = new USBDeviceDetectorManager(); List usbStorageDevices = manager.getRemovableDevices(); for(USBStorageDevice usbStorageDevice : usbStorageDevices) { System.out.println(usbStorageDevice.getSystemDisplayName()); System.out.println(usbStorageDevice.getDeviceName()); System.out.println(usbStorageDevice.getRootDirectory()); }
我有我的SD card
, NAS
, C:
和D:
连接的驱动器。 打印如下:
SANDISK (E:) SANDISK E:\
正如预期的那样,只返回一个结果,因为USB reader
插入笔记本电脑后, SD card
被视为USB
。