[英]Enumerate external drives
在 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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.