枚举外部驱动器
在java中,您可以使用File.listRoots()
获取系统中的所有驱动器。枚举外部驱动器
我期待只得到外部驱动器,即USB驱动器,外置硬盘,光驱,软驱等
有没有办法做到这一点在Java中?如果不是,本地C++代码也会很好。在那种情况下,我需要Windows和Linux代码。
你可以使用WMI或可考虑
GetRawInputDeviceList()
GetRawInputDeviceInfo()
这应该让你开始
C++
的Java
的http:// forums.java.net/jive/thread.jspa?threadID=37942
您的答案似乎倾向于输入设备(键盘和鼠标)而不是大容量存储设备。 – 2010-06-05 13:44:39
你有一个好点! – 2010-06-07 12:46:45
获取文件系统信息,使用类似:
import java.io.*;
import javax.swing.filechooser.*;
public class DriveTypeInfo
{
public static void main(String[] args)
{
System.out.println("File system roots returned by FileSystemView.getFileSystemView():");
FileSystemView fsv = FileSystemView.getFileSystemView();
File[] roots = fsv.getRoots();
for (int i = 0; i < roots.length; i++)
{
System.out.println("Root: " + roots[i]);
}
System.out.println("Home directory: " + fsv.getHomeDirectory());
System.out.println("File system roots returned by File.listRoots():");
File[] f = File.listRoots();
for (int i = 0; i < f.length; i++)
{
System.out.println("Drive: " + f[i]);
System.out.println("Display name: " + fsv.getSystemDisplayName(f[i]));
System.out.println("Is drive: " + fsv.isDrive(f[i]));
System.out.println("Is floppy: " + fsv.isFloppyDrive(f[i]));
System.out.println("Readable: " + f[i].canRead());
System.out.println("Writable: " + f[i].canWrite());
}
}
}
以及驱动器是内部的还是外部的,它仍然不能回答 – 2010-06-06 04:39:21
软件如何知道如何安装驱动器?除主物理驱动器外,所有驱动器都可以安装在内部或外部。可能有一种方法可以从外部CD启动并访问外部驱动器,而不需要任何驱动器。 – 2010-06-05 15:27:24