java - 检测/验证 SD 卡驱动器

标签 java windows desktop sd-card

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

例如,列出所有可用文件系统根的 Java 方法是使用 listRoots() 方法,但它无法判断文件系统类型,例如外部、内部、操作系统驱动器或其他类型。

这在纯 Java 中是否可能?

注意:
要求检测 Android 手机 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 卡NASC:D: 驱动器。打印以下内容:

SANDISK (E:)
SANDISK
E:\

正如预期,仅返回一个结果,因为由于 USB 读卡器 插入我的笔记本电脑,SD 卡 被视为 USB .

关于java - 检测/验证 SD 卡驱动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34676452/

相关文章:

java - OpenCL:区分计算失败与 TDR 中断

windows - 使用wix工具集安装多个exe

linux - 基准模拟 "realistic"桌面/服务器工作负载

c++ - 用 C++ 在桌面上叠加图像

frameworks - 桌面软件开发选项

java - 为什么要使类成为final来创建不可变对象(immutable对象)

java - 数组中数字对的差值总和 - Java

Java - 通过用户身份验证访问文件

java - 由于浮点精度误差导致的分割平方问题

c++ - 如何在另一个应用程序中选择并突出显示一个窗口?