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

Entrée/Sortie Java Discussion :

Système de fichier Windows


Sujet :

Entrée/Sortie Java

  1. #1
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Points : 1 540
    Points
    1 540
    Par défaut Système de fichier Windows
    Bonjour,
    Je me permets ce petit post parce que je sèche sur une action qui à la base me semblait simple.
    J'évolue avec Java 1.8.0.341 sous Windows 10.
    Je m'exerce à la réalisation d'un outil de type Sysinfo, et j'en suis à l'analyse du système de fichier.
    Pour cela, j'utilise java.nio.file.FileSystem et java.nio.file.FileStore.
    Sur ma machine se trouvent plusieurs lettres mappées, certaines sur le système de fichier locale, d'autre sur des connexions réseau.
    J'ai trouvé le moyen de toutes les lister facilement via ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Iterator<FileStore> stockages  = FileSystems.getDefault().getFileStores().iterator();
    Mais je bute sur comment déterminer si tel ou tel FileStore correspond à un disque local, ou à un disque réseau.
    Sauriez-vous m'aider à trouver une solution permettant de déterminer l'origine du mappage ?
    Merci à vous.
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Je vois pas de bonne solution portable pure Java pour ça. Mais bon d'un autre coté ça semble être pour une solution 100% Windows, non ?

    Ce qui me vient immédiatement a l'esprit et de passer par Files.listRoot() ou mieux FileSystems.getDefault().getRootDirectories() (car la 1ere ne liste pas les disques extractibles vides - ex lecteurs de CD/DVD/BR quand ils sont vides - oui on ça existe encore) et de lancer la commande native net use <lettre de lecteur> dessus.

    Quand le disque est pas un disque réseau, cette commande devrait retourner un truc genre :

    Code TXT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    The network connection could not be found.
     
    More help is available by typing NET HELPMSG 2250.

    Quand le disque est réseau, cette commande devrait retourner un truc genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Local name       <lettre de lecteur>
    Remote name       <addresse UNC>
    Resource type     Disk
    The command completed successfully.
    Il est aussi possible d’exécuter la commande fsutil fsinfo drivetype <lettre de lecteur> qui retourne le type de lecteur mais j'ai lu qu'il faut être admin pour pouvoir exécuter cette commande (a tester). Les valeurs retour devraient être du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Fixed Drive
    CD-ROM Drive
    Removable Drive
    Remote/Network Drive
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Membre expérimenté
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Points : 1 540
    Points
    1 540
    Par défaut
    Désolé de ne répondre que maintenant, mais merci Bouye.
    Cette solution me convient parfaitement.
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Créer son propre système de fichiers
    Par L'immortel dans le forum Programmation d'OS
    Réponses: 15
    Dernier message: 15/12/2013, 22h16
  2. Système de fichier ?
    Par Neilos dans le forum Windows
    Réponses: 8
    Dernier message: 03/01/2006, 11h11
  3. Copier coller Fichier windows
    Par KPitN dans le forum Windows
    Réponses: 8
    Dernier message: 20/04/2004, 17h32
  4. Peut on manipuler le système de fichier par T-SQL?
    Par WOLO Laurent dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/12/2003, 09h19
  5. Le système de fichiers utilisé ?
    Par KORTA dans le forum C
    Réponses: 2
    Dernier message: 17/09/2003, 21h46

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