通过Java获取Windows硬盘的盘符;
已经通过Java成功获取了Windows所有磁盘的盘符,包括光驱和软驱,如下:File[] roots = File.listRoots();
for (int i = 0; i < roots.length; i++) {
System.out.println(roots[i]);
}
问题(1):那么如何实现将光驱和软驱或其他类型的盘符筛选掉,只获取硬盘盘符呢?主要想实现获取Usb外接U盘的功能;
如果在调用Java程序后再插入U盘则可以根据盘符的变化(系统识别并增加U盘盘符),
并成功根据盘符变化取出U盘盘符;问题(2):那么如果在调用Java程序前就已经插入了U盘,怎么实现获取的盘符列表中哪个是U盘的盘符呢?
已经通过Java成功获取了Windows所有磁盘的盘符,包括光驱和软驱,如下:File[] roots = File.listRoots();
for (int i = 0; i < roots.length; i++) {
System.out.println(roots[i]);
}
问题(1):那么如何实现将光驱和软驱或其他类型的盘符筛选掉,只获取硬盘盘符呢?主要想实现获取Usb外接U盘的功能;
如果在调用Java程序后再插入U盘则可以根据盘符的变化(系统识别并增加U盘盘符),
并成功根据盘符变化取出U盘盘符;问题(2):那么如果在调用Java程序前就已经插入了U盘,怎么实现获取的盘符列表中哪个是U盘的盘符呢?
解决方案 »
- 关于graphics的一个小问题,大家进来帮我看看。。。
- 有比较好的从javaSwing 的表中,导出到EXCEL中的插件吗?
- 关于JTable 行选择问题
- Swing,使用togglebutton来开启和关闭多个窗口,如何实现,代码有问题.比较急,谢谢.
- \u6c49\u6c49 转换这些东西的方法和包在哪?
- 十万火急!2000元悬赏一个JAVA写的取QQ好友资料小程序
- 怎么将RMI/IIOP程序设置成Windows服务??
- Java里用JComponent.getGraphics()来画图形都不能保存,如何解决。
- 一个日期格式转换的问题??
- 菜鸟问题(对象数组):对于clsA []=new claA[10];语句执行后是否已经拥有了类clsA的10个实例对象,还是要再for i=0 to 9对clsA[i]=new clsA一下?
- java Tcp通信问题
- 菜鸟的一个关于Jdbc的问题困扰我一天了,求高手解答
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 驱动器
D:\ -- 本地磁盘
E:\ -- 本地磁盘
F:\ -- 本地磁盘
FileSystemView.getShellFolder: f=G:\
java.io.FileNotFoundException: File G:\ not found
at sun.awt.shell.Win32ShellFolderManager2.createShellFolder(Unknown Source)
at sun.awt.shell.Win32ShellFolderManager2.createShellFolder(Unknown Source)
at sun.awt.shell.ShellFolder.getShellFolder(Unknown Source)
at javax.swing.filechooser.FileSystemView.getShellFolder(Unknown Source)
at javax.swing.filechooser.WindowsFileSystemView.getSystemTypeDescription(Unknown Source)
at test.HardDriver.main(HardDriver.java:25)
java.lang.NullPointerException
at javax.swing.filechooser.WindowsFileSystemView.getSystemTypeDescription(Unknown Source)
at test.HardDriver.main(HardDriver.java:25)
Exception in thread "main"
不是虚拟的,就是实实在在的一个DVD光驱,输出到G盘的时候就抛了,
没办法调试javax的代码,不知道是啥问题!
static private FileSystem fs = FileSystem.getFileSystem();
public static native FileSystem getFileSystem();
估计要拿完整的驱动器信息只有用JNI掉DLL了