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

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    août 2008
    Messages
    998
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2008
    Messages : 998
    Points : 460
    Points
    460

    Par défaut comment lire un fichier

    Bonjour, je tente de lire un fichier texte mais je ne sais pas comment le faire correctement dans l'arborescence maven ?
    Nom : lire_fichier.png
Affichages : 30
Taille : 159,0 Ko

    je remets la class vu:

    Code java : 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
     
    public class Vue{
        public static void main(String[] args) {
            /*
            DaoImpl dao = new DaoImpl();
            MetierImp metier = new MetierImp();
            metier.setDao(dao);
            System.out.println(metier.calcul());
            */
            try{
                Scanner scanner = new Scanner(new File("config.txt"));
                String daoClassName=scanner.next();
                String metierClassName = scanner.next();
                System.out.println(daoClassName);
            }catch(Exception e){
                e.printStackTrace();
            }
        }
    }
    j'ai tenté de le mettre à côté du dossier ressource
    merci de votre réponse

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2012
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2012
    Messages : 488
    Points : 859
    Points
    859

    Par défaut

    bonjour,
    pour accéder au dossier resources faut sortir du dossier vue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      Scanner scanner = new Scanner(new File("../resources/config.txt"));
    Mais n'oublie pas de fermer les ressources après lecture soit avec scanner.close() ( dans le bloc finally) soit avec try with resources (java 7)

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    août 2008
    Messages
    998
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2008
    Messages : 998
    Points : 460
    Points
    460

    Par défaut

    merci de la réponse ,
    j'ai tenté de faire ce que tu as dis mais il ne le trouve pas

    Code java : 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
     
            try{
              String pwd =   System.getProperty("user.dir");
              System.out.println("chemin projet : "+pwd);
           // ne fonctionne pas => Scanner scanner = new Scanner(new File(pwd+"/resources/config.txt"));
           // Scanner scanner = new Scanner(new File(pwd+"/resources/application.properties"));
             Scanner scanner = new Scanner(new File("../resources/application.properties"));
     
              String daoClassName=scanner.next();
             // String metierClassName = scanner.next();
              System.out.println(daoClassName);
              scanner.close();
     
            }catch(Exception e){
                e.printStackTrace();
            }

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    chemin projet : c:\Users\aker\Documents\patterne
    java.io.FileNotFoundException: ..\resources\application.properties (Le chemin d’accès spécifié est introuvable)
    	at java.io.FileInputStream.open0(Native Method)
    	at java.io.FileInputStream.open(FileInputStream.java:195)
    FileInputStream.java:195
    	at java.io.FileInputStream.<init>(FileInputStream.java:138)
    	at java.util.Scanner.<init>(Scanner.java:611)
    	at ohkod.patterne.vue.Vue.main(Vue.java:22)

    j'ai tenté aussi de lire application.properties qui à été créer par défaut , mais il ne trouve pas le fichier .

  4. #4
    Membre confirmé
    Avatar de Jacques Beauregard
    Homme Profil pro
    Développeur Java
    Inscrit en
    mai 2015
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2015
    Messages : 210
    Points : 562
    Points
    562

    Par défaut

    Bonjour,

    Ton config.txt et application.properties se trouvent dans /resources
    Ta classe JAVA est dans : Okhod/patterne/vue.

    Donc essaie ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Scanner scanner = new Scanner(new File("../../../resources/config.txt"));
    Cordialement.
    Il ne faut jamais prendre les gens pour des cons, mais il ne faut pas oublier qu'ils le sont...

    Le guide du débutant pour apprendre à programmer en Java - N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    août 2008
    Messages
    998
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2008
    Messages : 998
    Points : 460
    Points
    460

    Par défaut

    Merci de la réponse

    j'ai donc testé:
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
                String pwd =   System.getProperty("user.dir");
                System.out.println("chemin projet : "+pwd);
                Scanner scanner = new Scanner(new File("../../../resources/config.txt"));

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    chemin projet : c:\Users\aker\Documents\patterne
    java.io.FileNotFoundException: ..\..\..\resources\config.txt (Le chemin d’accès spécifié est introuvable)
    	at java.io.FileInputStream.open0(Native Method)
    	at java.io.FileInputStream.open(FileInputStream.java:195)
    FileInputStream.java:195
    	at java.io.FileInputStream.<init>(FileInputStream.java:138)
    	at java.util.Scanner.<init>(Scanner.java:611)
    	at ohkod.patterne.vue.Vue.main(Vue.java:22)

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2012
    Messages
    488
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2012
    Messages : 488
    Points : 859
    Points
    859

    Par défaut

    si tu es sur Spring il te faut spécifier le classpath du fichier auquel tu veux accéder.
    pour charger un fichier depuis le classpath, Spring fournit une solution comme org.springframework.core.io.ClassPathResource :

    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
     
    import org.springframework.core.io.ClassPathResource;
     
     
     
     
    //récupère le fichier confi.txt qui se trouve dans le class path de Spring (src/main/resources/config.txt
    ClassPathResource resource = new ClassPathResource("config.txt");
    try (  Scanner scanner = new Scanner(resource.getFile() )   ) {         
        while (scanner.hasNext()) {
             String daoClassName=scanner.nextLine();
             System.out.println(daoClassName);
         }           
     
     } catch (IOException e) {
                e.printStackTrace();
     }
    Ensuite pour lire une donnée qui se trouve dans le fichier application.properties c'est assez simple avec Spring
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    import org.springframework.beans.factory.annotation.Value;
     
     
     
    //puis dans la classe
    @Value("${say.hello.in.fr}")
     private   String toto;
    application.properties
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    say.hello.in.fr= salut

  7. #7
    Membre confirmé

    Profil pro
    Inscrit en
    août 2008
    Messages
    998
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2008
    Messages : 998
    Points : 460
    Points
    460

    Par défaut

    merci beaucoup cela fonctionne

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

Discussions similaires

  1. Comment lire un fichier XML ?
    Par jeromelef dans le forum Débutant
    Réponses: 6
    Dernier message: 29/06/2005, 15h52
  2. [BCB 5]Comment lire un fichier AVI avec un TAnimate ?
    Par Sitting Bull dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/09/2004, 11h57
  3. Comment lire un fichier DB en cours d'utilisation par 1 autr
    Par jbat dans le forum Bases de données
    Réponses: 4
    Dernier message: 12/03/2004, 11h06
  4. Comment lire un fichier image
    Par Charlemagne dans le forum DirectX
    Réponses: 9
    Dernier message: 12/03/2004, 00h22

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