2015-11-25 1 views
3

Après avoir examiné cette question ici: Get all DVD drives in JavaExiste-t-il un moyen de déterminer si un lecteur est un lecteur de DVD/CD/BLUERAY sans disque à l'intérieur?

Il me semble qu'avec Java 7 il y a un moyen de discerner entre les disques durs et les lecteurs de DVD/CD quand il y a cd/dvd dans le lecteur. Mais cette méthode échoue si le lecteur est vide. Ma question est: Y at-il maintenant 4 ans plus tard une méthode pour discerner quels disques sont des disques durs et quels sont les lecteurs cd/dvd/blueray même si ces disques n'ont pas cd/dvd/blueray à l'intérieur?

Edit: Le système d'exploitation cible pour c'est Linux

+0

@ l'électeur proche Je m'attendrais à au moins quelques commentaires sur la raison pour laquelle un Fermer. La seule possibilité que je vois, c'est que vous voyez cela comme une copie de la question que j'ai mentionnée dans ma question. Bien que je l'ai dit clairement je pense que cette question est différente de celle-là, comme je demande si la faiblesse apparente (du moins si j'ai compris la réponse à celle-ci correcte que c'était une faiblesse) est résolue après plus de 4 ans entre (et nouvelles éditions). Ce serait intéressant pour la raison du vote serré. tnx. – Thomas

+0

La réponse est toujours spécifique au système d'exploitation. Quel système d'exploitation ciblez-vous? – BalusC

+0

Ah bon point. pensée plattform cross est possible là mais juste relu. mettra à jour ma question là-bas. Le système d'exploitation cible est linux – Thomas

Répondre

2

Pouvez-vous exécuter des commandes du système, ou doit-il être pur Java? Si vous pouvez exécuter des commandes système, essayez:

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

Cela vous donnera quelque chose comme:

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 

Pour info plus complète, vous pouvez exécuter:

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

Dans il devrait y avoir une ligne comme:

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

Si vous avez un lecteur blu-ray dans le système, je m'attendrais à BDROM, BD-ROM, BD-R, BD-RW ou quelque chose de similaire

+0

m'a pris un moment pour obtenir ce que le programme fait. Donc, il affiche uniquement les lecteurs cdrom (sympa!). Cela fonctionne-t-il également bien avec 2 commandes installées? De même que c'est dev/cdrom/info cela fonctionne-t-il aussi pour les lecteurs de rayon bleu? (seulement vu dvd/cd dans cette sortie) et est-il limité à des versions/versions linux spécifiques ou est-ce un programme général? – Thomas

+0

J'ai modifié ma réponse pour inclure des informations sur les lecteurs Blu-ray. Les deux commandes devraient être présentes sur tous les systèmes Linux (j'ai testé sur SLES, CentOS localement, mais je sais qu'Ubuntu l'a aussi). – Fallso

+0

Intéressant tnx. +1 cela pour l'instant et attendez quelques jours si quelque chose d'autre arrive (sinon je vais accepter celui-ci). – Thomas