检测/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 cardNASC:D:连接的驱动器。 打印如下:

 SANDISK (E:) SANDISK E:\ 

正如预期的那样,只返回一个结果,因为USB reader插入笔记本电脑后, SD card被视为USB