IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

Gérer disques, volumes, lecteurs CDRom, etc.


Sujet :

API standards et tierces Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de Pierre Maurette
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    283
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 283
    Par défaut Gérer disques, volumes, lecteurs CDRom, etc.
    Bonjour,

    Je voudrais de façon portable récupérer le nom de volume d'un CDRom et quelques autres bricoles (si je pouvais faire eject/load par programme, ce serait la fête). J'ai bien sûr simplifié par rapport à ce que je faisais en C++ avec les API Windows. Avec la classe java.io.File, en utilisant listRoots() puis en testant canRead() et canWrite(), j'arrive à connaître mes partitions et CDs et à savoir s'il y a une galette dans le lecteur. Mais pas moyen d'obtenir les nom de volumes. Et puis je fais des hypothèses osées sur l'absence d'autres mémoires de masse que disques durs et lecteurs de CD.

    Existe-t-il d'autres classes (genre xxx.Drive) dans le JDK standard, ou indépendantes mais portables ?

    Merci d'avance

    Pierre Maurette

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Jette un coup d'oeil à la classe FileSystemView !

    Citation Envoyé par Pierre Maurette
    Avec la classe java.io.File, en utilisant listRoots() puis en testant canRead() et canWrite(), j'arrive à connaître mes partitions et CDs et à savoir s'il y a une galette dans le lecteur.
    Tu peux aussi utiliser getRoots() qui te renvoit quelque chose de plus proche du système (c'est à dire seulement le bureau sous Windows), que tu peux parcourir récursivement via des appels à getFiles()...

    Citation Envoyé par Pierre Maurette
    Mais pas moyen d'obtenir les nom de volumes.
    Tu peux utiliser getSystemDisplayName() pour cela, par exemple avec listRoots() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            FileSystemView fsv = FileSystemView.getFileSystemView();
            for (File f : File.listRoots()) {
                System.out.println(f + " : " + fsv.getSystemDisplayName(f));
            }
    Citation Envoyé par Pierre Maurette
    Et puis je fais des hypothèses osées sur l'absence d'autres mémoires de masse que disques durs et lecteurs de CD.
    C'est à dire ???

    Citation Envoyé par Pierre Maurette
    Existe-t-il d'autres classes (genre xxx.Drive) dans le JDK standard, ou indépendantes mais portables ?
    Peut-être du coté de Jakarta Commons Virtual File System : http://jakarta.apache.org/commons/vfs/

    Mais je ne l'ai jamais utilisé

    a++

  3. #3
    Membre chevronné Avatar de Pierre Maurette
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    283
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 283
    Par défaut
    Merci de votre réponse, getSystemDisplayName() et FileSystemView répondent tout à fait à mes attentes. Je vais jeter un oeil au reste.
    Et puis je fais des hypothèses osées sur l'absence d'autres mémoires de masse que disques durs et lecteurs de CD.
    C'est à dire ???
    Simplement que canRead() et canWrite() à true true, je conclus à une partition, true false à un lecteur [graveur] CD DVD avec un CD dedans, et false false à un lecteur [graveur] CD DVD vide. Je n'ai pas envisagé les clés USB, appareils photos, memory cards, sauvegardes à bande, etc.
    Bonne journée,

    Pierre Maurette

Discussions similaires

  1. Lancer une apply a la fermeture du lecteur cdrom
    Par jean-jacques varvenne dans le forum Administration système
    Réponses: 2
    Dernier message: 19/06/2005, 22h04
  2. Lecteur CDROM Fou !!!
    Par MonsieurAk dans le forum Périphériques
    Réponses: 7
    Dernier message: 04/05/2005, 15h25
  3. Réponses: 3
    Dernier message: 28/01/2004, 10h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo