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 去实现了。