是否有方法检测连接到桌面计算机的所有SD卡驱动器?在Windows中,SD卡在视觉上不同于其他设备,如内置硬盘或类似设备。有没有一种方法可以判断驱动器是否是SD卡驱动器?
例如,列出所有可用文件系统根的一种Java方法是使用listRoots()方法,但它不能告诉文件系统类型,例如外部、内部、OS驱动器或其他类型。
这在纯Java中甚至是可能的吗?
注意:
我是,不是要求检测安卓手机SD卡,因为这些是搜索我的问题的结果。
发布于 2017-04-11 23:51:23
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 card,NAS,C:和D:驱动器连接。印刷内容如下:
SANDISK (E:)
SANDISK
E:\正如预期的那样,只返回一个结果,因为由于将SD card插入到我的膝上型计算机中,USB reader被视为USB。
https://stackoverflow.com/questions/34676452
复制相似问题