java - 有没有办法辨别驱动器是否是内部没有光盘的 dvd/cd/blu ray 驱动器?

标签 java file dvd

在这里查看这个问题后:Get all DVD drives in Java

在我看来,当驱动器中有 cd/dvd 时,使用 JAVA 7 有一种方法可以区分硬盘驱动器和 dvd/cd 驱动器。但如果驱动器为空,则该方法将失败。

我的问题是:现在 4 年后是否有一种方法可以辨别哪些驱动器是硬盘驱动器,哪些驱动器是 cd/dvd/blueray 驱动器,即使这些驱动器内部没有 cd/dvd/blueray?

编辑: 目标操作系统是 Linux

最佳答案

您可以运行系统命令,还是必须是纯 Java?如果您可以运行系统命令,请尝试:

Runtime.getRuntime().exec("more /proc/sys/dev/cdrom/info");

这会给你类似的东西:

CD-ROM information, Id: cdrom.c 3.20 2003/12/17

drive name:     sr0
drive speed:        24
drive # of slots:   1
Can close tray:     1
Can open tray:      1
Can lock tray:      1
Can change speed:   1
Can select disk:    0
Can read multisession:  1
Can read MCN:       1
Reports media changed:  1
Can play audio:     1
Can write CD-R:     1
Can write CD-RW:    1
Can read DVD:       1
Can write DVD-R:    1
Can write DVD-RAM:  1
Can read MRW:       1
Can write MRW:      1
Can write RAM:      1

要获得更全面的信息,您可以运行:

Runtime.getRuntime().exec("hwinfo --cdrom");

里面应该有这样一行:

Feature: CD-R, CD-RW, DVD-R, DVDRAM

如果您的系统中有蓝光驱动器,我希望是 BDROM、BD-ROM、BD-R、BD-RW 或类似的东西

关于java - 有没有办法辨别驱动器是否是内部没有光盘的 dvd/cd/blu ray 驱动器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33909884/

相关文章:

video - 使用 ffmpeg 将静止图像编码为 mpeg-2 视频时如何避免泵送伪影

java - 如何将多个类中的多个 system.out.println() 显示到单个 GUY(如 JTextArea)中

java - 如何跨 Gradle 项目共享测试类?

java - 我可以可靠地使用 os.version 值来确定 Linux 发行版吗?

c++ - 如何从 C 或 C++ 文件中删除字节?

file - 如何刷新 Web 应用程序的资源文件夹?

android - 图像文件不被覆盖

java - 在 Java 中获取所有 DVD 驱动器

python - 在 python 中存档数据 CD/DVD 的最佳方法是什么?

java - BigInteger 分成几部分