在Java中区分CD驱动器和硬盘驱动器

问题描述:

如何在Java中区分CD驱动器和硬盘驱动器?在Java中区分CD驱动器和硬盘驱动器

Here是我使用VBScript找到的解决方案。本机Java不区分CD驱动器和普通驱动器,它只是文件和目录。

但是,这种解决方案只能在Windows上工作。

适用于Windows的另一个解决方案是JNA

所以,基于Linux的机器,你甚至可以从你的Java代码的Linux命令。调用一个bash脚本。

我不认为你可以完全确定地在纯Java中做到这一点。

你为什么要在意?你可能需要做的是区分你可以写入的文件或目录和那些你不能写入的文件或目录。 java.io.File类有方法来做到这一点。或者,如果您知道传统上用于在计算机上安装CD的(UNIX)安装点或(Windows)驱动器,则可以根据绝对路径名进行区分。再一次,File会给你。

可能不是一个很好的解决方案,但是当我在Windows上使用下面的代码:

FileSystemView fsv = FileSystemView.getFileSystemView(); 
System.out.println(fsv.getSystemDisplayName(new File("c:\\"))); 
System.out.println(fsv.getSystemDisplayName(new File("d:\\"))); 

我得到以下输出:

本地磁盘(C :)
音频CD(d: )

所以也许有标准的显示名称,你可以检查?