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

Langage Java Discussion :

comment rendre un programme java compatible windows et linux?


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 253
    Par défaut comment rendre un programme java compatible windows et linux?
    Bonjour,

    en fait j'ai fait un programme web qui génère des fichiers de configuration sur windows et le programme marche parfaitement et il me génère un fichier dans l'emplacement suivent
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //File file = new File("C:" + File.separator + "tetsjava" + File.separator + file_name + ".conf");
    ma question est comment dois je faire pour que mon programme marche pour le deux os, sans avoir besoin à modifier quoi que ce soit.
    sachant aussi quei je ne veux pas qu'on me génère mes fichiesr de configuration n'importe ou.
    par exemple sur linux je veux que les fichiers soit générés dans le /home/utilisateur_connecté/servCcon/pcConf.
    sachant que chaque utilisateur doit avoir l'arborecsence ~/servConf/pcConf

    merci

  2. #2
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 46
    Par défaut
    Bonjour,

    Alors peut être que j'ai du mal à cerner ta demande....mais java doit fonctionner sur les deux environnements sans problème au vu de ton code

    Après si tu veux réellement faire des traitements spécifiques que je ne perçoit pas tu peux toujours récupérer l'OS avec un appel d'une methode Sytem.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.getProperties().get("os.name");
    Après à toi de gérer ce que tu veux faire en fonction du retour.....avec un bon vieux switch/case à la dure ....ou autrement...


    =======
    JAVA bien , merci

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 253
    Par défaut
    euh je ne pense pas que j'ai bien saisis ta réponse est ce que stp tu peux illustrer tes propos par un exemple.

    merci pour ta réponse

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    ton problème c'est que tu hardcode l'emplacement. Non seulement ca ne marchera pas sous linux, mais ca ne marchera pas non plus sur les machine windows qui n'ont pas de "C:" (oui c'est tordu, mais y a toujours de malin avec des configurations inhabituelles)

    Pour stocker quelque chose dans le dossier utilisateur, utiliser

    System.getProperty("user.dir"), ca te donne le répertoire perso du user courant, quel que soit l'os. A partir de là tu fait un

    new File(new File(userdir),"monSousdossier")

  5. #5
    Membre confirmé
    Inscrit en
    Août 2008
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 46
    Par défaut
    OK OK ....désolé....

    Je pense que la soluce de Tchize te parlera plus....

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 253
    Par défaut
    merci vous deux, je testerais cette solution

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 253
    Par défaut
    voila toujour le même problème ça fonctionne sur windows mais pas sur linux.
    j'ai testé cette exemple pour une machine windows

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
     
    	     	String userdir =System.getProperty("user.dir");
                File file = new File(new File(userdir), "tetsjava" + File.separator + file_name + ".conf");
                System.out.print(userdir);
                file.createNewFile();
    et ça marche,
    puis j'ai testé ceci sous linux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    	     	String userdir =System.getProperty("user.dir");
                File file = new File(new File(userdir), "servConf" +File.separator+ "pcConf" +File.separator + file_name + ".conf") ;
                System.out.print(userdir);
                file.createNewFile();
    mais ça marche pas

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

Discussions similaires

  1. Comment compiler un programme Java sur Windows 7
    Par estrellas dans le forum Débuter avec Java
    Réponses: 10
    Dernier message: 28/12/2011, 08h37
  2. Comment exécuter un programme java sous Window ?
    Par newbo dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 04/10/2010, 06h05
  3. Comment rendre les programmes compatibles sur Vista ?
    Par wa3dbk dans le forum Windows Vista
    Réponses: 1
    Dernier message: 06/10/2007, 16h58
  4. Réponses: 1
    Dernier message: 10/12/2006, 13h38
  5. Réponses: 4
    Dernier message: 07/12/2006, 09h53

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