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

在Java中区分CD驱动器和硬盘驱动器,java,Java,如何在Java中区分CD驱动器和硬盘驱动器?我认为,在纯Java中,您无法完全确定地做到这一点 你为什么要在乎?您可能需要做的是区分可以写入的文件或目录和无法写入的文件或目录。java.io.File类有实现这一点的方法。或者,如果您知道通常用于在计算机上安装CD的(UNIX)装载点或(Windows)驱动器,则可以根据绝对路径名进行区分。再一次,文件将为您提供这一点。我认为您不能完全肯定地用纯Java实现这一点 你为什么要在乎?您可能需要做的是区分可以写入的文件或目录和无法写入的文件或目录。j

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

我认为,在纯Java中,您无法完全确定地做到这一点


你为什么要在乎?您可能需要做的是区分可以写入的文件或目录和无法写入的文件或目录。
java.io.File
类有实现这一点的方法。或者,如果您知道通常用于在计算机上安装CD的(UNIX)装载点或(Windows)驱动器,则可以根据绝对路径名进行区分。再一次,
文件
将为您提供这一点。

我认为您不能完全肯定地用纯Java实现这一点

你为什么要在乎?您可能需要做的是区分可以写入的文件或目录和无法写入的文件或目录。
java.io.File
类有实现这一点的方法。或者,如果您知道通常用于在计算机上安装CD的(UNIX)装载点或(Windows)驱动器,则可以根据绝对路径名进行区分。再一次,
文件
将为您提供该解决方案。

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

但此解决方案仅适用于Windows

Windows的另一个解决方案是

因此,对于基于Linux的机器,您可以从Java代码中调用Linux命令。调用bash脚本。

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

但此解决方案仅适用于Windows

Windows的另一个解决方案是


因此,对于基于Linux的机器,您可以从Java代码中调用Linux命令。调用bash脚本。

可能不是很好的解决方案,但在Windows上使用以下代码时:

FileSystemView fsv = FileSystemView.getFileSystemView();
System.out.println(fsv.getSystemDisplayName( new File("c:\\") ) );
System.out.println(fsv.getSystemDisplayName( new File("d:\\") ) );
我得到以下输出:

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


因此,可能有一些标准的显示名称可以检查?

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

FileSystemView fsv = FileSystemView.getFileSystemView();
System.out.println(fsv.getSystemDisplayName( new File("c:\\") ) );
System.out.println(fsv.getSystemDisplayName( new File("d:\\") ) );
我得到以下输出:

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

那么,也许有一些标准的显示名称可以检查