在这里看到这个问题后:Get all DVD drives in Java
在我看来,使用JAVA 7时,有一种方法可以在驱动器内部有cd / dvd时识别硬盘驱动器和DVD / CD驱动器.但是如果驱动器为空,则该方法会失败.
我的问题是:4年后是否有一种方法可以识别哪些驱动器是硬盘驱动器,哪些驱动器是cd / dvd / blueray驱动器,即使这些驱动器内部没有CD / DVD /蓝光?
编辑:
目标操作系统是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或类似的东西