检测/验证SD卡驱动器

时间:2016-01-08 11:49:54

标签: java windows desktop sd-card

有没有办法检测连接到台式电脑的所有SD卡驱动器?在Windows中,SD卡在视觉上与其他设备(如内置硬盘驱动器或类似设备)截然不同。有没有办法判断驱动器是否是SD卡驱动器?

列出所有可用文件系统根的Java方法,例如使用listRoots()方法,但它无法告诉文件系统类型,如外部,内部,操作系统驱动器等等。

这在纯Java中是否可行?

注意:
要求检测Android手机SD卡,因为这些是搜索我的问题时的结果。

1 个答案:

答案 0 :(得分:0)

This答案解决了。

示例代码:

USBDeviceDetectorManager manager = new USBDeviceDetectorManager();
List<USBStorageDevice> 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:\

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