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 :

chemin d'un fichier avec java


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur JAVA JEE / PHP
    Inscrit en
    Avril 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur JAVA JEE / PHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 151
    Par défaut url d'un fichier en java
    Bonjour,

    S’il vous plait j’ai besoin d’aide, mon problème c’est que je veux récupérer le chemin d’un fichier qui se trouve dans un coin de mon disque dur. Avant j’utilise le code suivant mais il me permet seulement de trouver mon fichier s’il se trouve dans mon jar :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    URL url = Thread.currentThread().getContextClassLoader().getResource("easytime-wc.properties"); 
           	  System.out.println("url-wc = "+url.getPath()); 
           	  String path = url.getPath().substring(1).replace("%20"," ").replace("!", "");
           	  System.out.println("path = "+path);
    Merci d’avance

  2. #2
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 052
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 052
    Par défaut
    Salut,

    Je suppose que tu dispose d'un objet de type File, par exemple obtenu par un JFileChooser.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String path = file.getAbsolutePath();

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur JAVA JEE / PHP
    Inscrit en
    Avril 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur JAVA JEE / PHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 151
    Par défaut
    salut Merci voila mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    String path = new File("easytime-wc.properties").getAbsolutePath();
              System.out.println("path = "+path);
           	  FileReader is = new FileReader(path);
    le problème maintenant si je dispose de plusieurs fichiers nomé easytime-wc.properties, comment je vais faire pour trouver le bon.

    Merci

  4. #4
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 052
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 052
    Par défaut
    Si ce n'est pas un fichier choisi par l'utilisateur mais un fichier interne a ton appli (une ressource) alors tu as une autre méthode.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    URL imgURL = classe.getResource(pathRelative);
    classe est un objet de type Class, indiquant le répertoire parent, où est la classe donc.
    pathRelative est de type String et indique le chemin relatif du fichier.
    Java cherchera le fichier à partir du répertoire où se trouve classe, éventuellement avec un chemin complexe dans pathRelative.

    Par exemple tu as un package contenant la classe MonObjet, qui contient un répertoire images qui contient le fichier ressource "image.png".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String pathRelative = "images" + File.separatorChar + "image.png";
    URL imgURL = MonObjet.class.getResource(pathRelative);

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur JAVA JEE / PHP
    Inscrit en
    Avril 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur JAVA JEE / PHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 151
    Par défaut
    Merci infinimemt

    Quand je veux lire ces fichiers dans une classe, je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getClass().getResource("/res/monfichier"))
    et ça marche.

    Maintenant, je veux mettre mon application dans un fichier jar.*
    J'ai gardé la même structure de fichier, mais ça ne marche pas, il ne
    trouve jamais mes fichiers.

    Comment faire pour mon code soit compatible avec les 2 utilisations ?

    Merci

  6. #6
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 052
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 052

  7. #7
    Membre confirmé
    Homme Profil pro
    Développeur JAVA JEE / PHP
    Inscrit en
    Avril 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur JAVA JEE / PHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 151
    Par défaut chemin d'un fichier avec java
    Bonjour,

    Avant j'utilise le code suivant et ça marche bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     String path = new File("easytime-conf.properties").getAbsolutePath();
    maintenant après que j'ai installé mon programme entant que service windows le service crée le fichier easytime-conf.properties dans le system32. est ce qu'il y a une autre méthode qui permet de le mettre dans le repertoire de l'installation ?

    Merci d'avance

  8. #8
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    Tu peux essayer de préciser le chemin absolu en paramètre de ton constructeur de File.

  9. #9
    Membre confirmé
    Homme Profil pro
    Développeur JAVA JEE / PHP
    Inscrit en
    Avril 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur JAVA JEE / PHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 151
    Par défaut
    Voici mon code complet :
    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
      public static void start()
         {
        	 String name = "easytime-ws";
    		 String path = new File("easytime-conf.properties").getAbsolutePath();
    		 System.out.println("pathURL = "+path);
    	 	 try {
     
    	 		  FileReader is; 
    	 		  is = new FileReader(path);
    			  Properties p = new Properties();
    			  p.load(is);
    			  name = p.getProperty("DisplayName");
    			  if (name.compareTo("") == 1) name= "easytime-ws";
    	          is.close();   
    	 	 }  
     
    	 	     catch (FileNotFoundException e1) {
    	 		 System.out.println("impossible");
    			 e1.printStackTrace();
     
    	    	 } catch (IOException e1) {	
    		       e1.printStackTrace();
    		     } 
     
        	 ExecCmdUtils.exec("net start "+name+"", logger) ;
         }

  10. #10
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    Comme je te le disais tu peux essayer de mettre le chemin absolu en paramètre de ton constructeur de File.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String path = new File("C:/...../easytime-conf.properties").getAbsolutePath

  11. #11
    Membre confirmé
    Homme Profil pro
    Développeur JAVA JEE / PHP
    Inscrit en
    Avril 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur JAVA JEE / PHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 151
    Par défaut
    en effet je travail sur un logiciel, qui peut etre installé dans de d: e:, donc il faut que j'utilise les chemins relatifs mais des chemins absoluts.

  12. #12
    Membre confirmé
    Homme Profil pro
    Développeur JAVA JEE / PHP
    Inscrit en
    Avril 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur JAVA JEE / PHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 151
    Par défaut Chemin vers un fichier dans l'ordinateur
    Je vouderai récupérer le chemin d'un fichier qui se trouve dans mon ordinateurs dans n'impotre quel emplacement avec java, pouvez vous m'aider.

    Merci d'avance

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


    Tu pourrais être plus clair ? Quel est le problème précisément ?

    a++

  14. #14
    Membre confirmé
    Homme Profil pro
    Développeur JAVA JEE / PHP
    Inscrit en
    Avril 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur JAVA JEE / PHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 151
    Par défaut
    je cherche a recuprer le chemin d'un fichier et je connais seulement son nom.

  15. #15
    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
    Si t'as un File() pour ce fichier, tu appelle dessus la méthode getAbsolutePath()

  16. #16
    Membre confirmé
    Homme Profil pro
    Développeur JAVA JEE / PHP
    Inscrit en
    Avril 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur JAVA JEE / PHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 151
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String path = new File("easytime-conf.properties").getAbsolutePath();
    Mais cette methode permet juste de recupere le chemin de fichier qui se trouve dans le repertoire d'execution.

  17. #17
    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
    qu'est-ce qu'on fait quand on est face à 200 armoires contenant des dossier et qu'on sais pas où se trouve le dossier qu'on cherche? On ouvre tout et on fouille et çà prend énormément de temps. Si tu sais pas ou est ton fichier et que tu dois l'ouvrir, y a pas d'avance, faut chercher à la main. Et prépare toi à en trouver plusieurs chez certains utilisateurs

  18. #18
    Membre confirmé
    Homme Profil pro
    Développeur JAVA JEE / PHP
    Inscrit en
    Avril 2008
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur JAVA JEE / PHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 151
    Par défaut
    Je vois donc que java est limité a ce niveau. Si on travail avec lunix on pourra juste executer la commande et on aura le chemin de notre fichier. par contre java ne permet pas de faire ça.

  19. #19
    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
    faut pas confondre l'os (unix), ses application (exemple find) et un language de programmation (exemple java, c, python, ...) Java ne te fournis pas de commande "find", d'ailleurs j'en vois pas l'intérêt dans l'api. Si t'as besoin de tout fouiller, pour chaque disque, tu scanne tout à la recherche de ce dont tu as besoin. Note que sur les gros disques, çà risque de prendre du temps....

  20. #20
    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
    Citation Envoyé par empire.dev Voir le message
    Je vois donc que java est limité a ce niveau.


    Citation Envoyé par empire.dev Voir le message
    Si on travail avec lunix on pourra juste executer la commande et on aura le chemin de notre fichier. par contre java ne permet pas de faire ça.
    Donc si je comprend bien tu veux rechercher un fichier sur le disque dur ?
    Dans ce cas une fonction récursives sur les méthodes list() ou listFiles() de la classe File devrait permettre cela assez facilement...

    a++

Discussions similaires

  1. Paramétrage d'un fichier (Avec java)
    Par kalmo dans le forum Entrée/Sortie
    Réponses: 0
    Dernier message: 28/08/2008, 16h35
  2. sauvegarde de fichier avec java
    Par bobkorn dans le forum Général Java
    Réponses: 1
    Dernier message: 28/05/2008, 17h23
  3. Copier et coller un fichier avec java
    Par opensource dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 13/03/2008, 17h53
  4. etbalir une arborescence des fichiers avec java
    Par groupe dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 13/03/2008, 02h02
  5. [Imprimer] Imprimer un fichier avec Java
    Par gwendo dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 13/11/2004, 20h23

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