Detecting/Verifying SD 卡驱动器

Detecting/Verifying SD Card Drive

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

A Java 列出所有可用文件系统根目录的方法是使用 listRoots() 方法,但它不能告诉文件系统类型,例如外部、内部、OS 驱动器或其他.

纯 Java 这甚至可能吗?

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

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 card 被视为 USB 由于 USB reader 被插入我的笔记本电脑。