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