Java 獲取碟符及分類

劍握在手發表於2013-11-20

import java.io.File;

  

import javax.swing.filechooser.FileSystemView;

  

public class ByteTest {

  

    public static void main(String[] args) {

        FileSystemView sys = FileSystemView.getFileSystemView();

        File[] files = File.listRoots();

        for(int i = 0; i < files.length; i++) {

            System.out.println(files[i] + " -- " + sys.getSystemTypeDescription(files[i]));

        }

    }

}

 

輸出:

C:\ -- 本地磁碟
D:\ -- 本地磁碟
E:\ -- 本地磁碟
F:\ -- 本地磁碟
G:\ -- CD 驅動器
J:\ -- 可移動磁碟
K:\ -- CD 驅動器

 

按理說應該返回的是一個型別標識,就像 Windows API 中 GetDriveType(http://msdn.microsoft.com/zh-cn/library/aa364939%28v=VS.85%29.aspx) 返回的那些,但是在 Java 中我好像沒有找到。

FileSystemView#getSystemTypeDescription 方法只能將就著用用,如果要有更高的要求,只能通過 Windows API 和 JNI 去實現了。

相關文章