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() 返回的那些,但是在 Java 中我好像没有找到。
FileSystemView#getSystemTypeDescription 方法只能将就着用用,如果要有更高的要求,只能通过 Windows API 和 JNI 去实现了。