簡體   English   中英

枚舉外部驅動器

[英]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://cboard.cprogramming.com/windows-programming/114294-getting-list-usb-devices-listed-system.html

爪哇

http://forums.java.net/jive/thread.jspa?threadID=37942

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM