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

Java Discussion :

Recuperation du Path Windows


Sujet :

Java

  1. #1
    Membre confirmé Avatar de zolotaya
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 93
    Par défaut Recuperation du Path Windows
    Bonjour,
    J'aurais aimer savoir si quelqu'un savais comment récupérer le path de windows (je n'ai pas trouvé dans java.lang.System )
    En gros ce que je veux savoir c'est si windows est installé sous C:\ D:\ ou autres...
    quelqu'un sait comment je pourrais faire?

  2. #2
    Membre éprouvé
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Par défaut
    Ce que tu demandes est spécifique à un système d'exploitation : donc pas portable : donc pas dans l'api de base. Tu dois te tourner vers une librairie plus spécifique, fais une petite recherche sur le net. Bonne chance.

  3. #3
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Dans la FAQ ( ou les codes sources - me rappelle plus et flemme de chercher ) de ce site tu trouveras un exemple de parcours récursif de système de fichier. Tu peux te servir de ce code pour déterminé si certains fichiers spécifiques à windows sont présents et donc si l'os est présent.
    Il me semble aussi qu'il existe une variable d'environnement récupérable via java.lang.System.getProperty("operating system"), je ne suis pas sûr de la syntaxe exacte de "operating system". Par contre avec cette méthode, cela te dira quel os est utilisé pour lancé la JVM, ça ne détectera pas le windows dans le cas d'un lancement de JVM via linux sur une machine multi-os.

  4. #4
    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,


    Windows utilise une variable d'environnement pour stocker son répertoire, donc ceci devrait marcher (je n'ai pas pu tester car je suis sous Linux) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String windir = System.getenv("WINDIR");
    Attention car getenv() ne marchera pas pour les JVM < 5.0...

    Si tel est ton cas la solution est de passer par la classe Runtime en exécutant un processus externe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    	public static String getenv(String name) throws IOException {
    		String result = null;
    		// On lance la commande SET (Windows 2000/NT/XP) :
    		Process process = Runtime.getRuntime().exec(
    				new String[]{"cmd.exe", "/C", "echo %" + name +"%"} );
    		try {
    			// On ferme les flux inutiles (évite les interblocages) :
    			process.getErrorStream().close();
    			process.getOutputStream().close();
     
    			BufferedReader br = new BufferedReader(
    					new InputStreamReader(process.getInputStream()));
    			try {
    				// On lit uniquement la première ligne de la réponse
    				// (il ne devrait pas y en avoir plus)
    				result = br.readLine();
    			} finally {
    				// On ferme le flux de lecture
    				br.close();
    			}
    		} finally {
    			// On détruit le process au cas où
    			// (cela permet d'éviter d'avoir des process zombie qui traine)
    			process.destroy();
    		}
    		return result;
    	}
    Bien sûr cela ne fonctionne que sous Windows (et encore pas tous) et il faut l'adapter pour qu'il soit multiplateforme :



    Mais je ne suis pas sûr que la portabilité soit importante à tes yeux...

    a++

    PS : Au passage, pourquoi as-tu besoin de connaitre cela ?

  5. #5
    Membre confirmé Avatar de zolotaya
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 93
    Par défaut
    La portabilitée a ses avantages et ses inconveigants aprés tout dépend de ce que l'on veut faire...
    Dans mon cas ca seras une apli only windows (du moin pour le moment aprés on verras et j'adapterais mon code en conséquent).

    Je test tout ce que vous m'avez passé ce soir et je vous dit quoi demain.

  6. #6
    Membre confirmé Avatar de zolotaya
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 93
    Par défaut
    Juste pour vous dire que les fonction de adiGuba fonctionnent sans pb.
    En vous remercient de votre aide

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

Discussions similaires

  1. recuperer le path d'un dossier
    Par Drudwyn dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 17/02/2006, 14h37
  2. [Système][Environnement]recuperer le path de java
    Par Gob4 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 23/09/2005, 16h26
  3. Recuperer langue de windows
    Par gilles641 dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 03/08/2005, 16h36
  4. [VBS] Récupérer l'utilisateur Windows NT en VBS
    Par Tententai dans le forum VBScript
    Réponses: 2
    Dernier message: 03/05/2005, 17h15
  5. Réponses: 3
    Dernier message: 10/06/2003, 14h16

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