在java中,您可以使用File.listRoots()
获取系统中的所有驱动器。
我希望只获得外部驱动器,即 USB 驱动器、外部硬盘、光驱、软盘等。
有没有办法在java中做到这一点?如果没有,本机 C++ 代码也会很好。在这种情况下,我需要 Windows 和 Linux 代码。
在java中,您可以使用File.listRoots()
获取系统中的所有驱动器。
我希望只获得外部驱动器,即 USB 驱动器、外部硬盘、光驱、软盘等。
有没有办法在java中做到这一点?如果没有,本机 C++ 代码也会很好。在这种情况下,我需要 Windows 和 Linux 代码。
要获取文件系统信息,请使用以下内容:
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());
}
}
}
您可以使用 WMI 或查看
GetRawInputDeviceList()
GetRawInputDeviceInfo()
这应该让你开始
C++
爪哇
http://forums.java.net/jive/thread.jspa?threadID=37942