在这里查看这个问题后: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/