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 去實現了。