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

avec Java Discussion :

FileReader & BufferedReader


Sujet :

avec Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 10
    Points : 6
    Points
    6
    Par défaut FileReader & BufferedReader
    Bonjour,
    J'essaie de réaliser une méthode qui me permettrait de lire une ligne d'un fichier texte et d'en extraire les 4 premiers caractères. J'ai essayé ce code mais il m'affiche une erreur au niveau du main. Je ne sais comment corriger.
    D'autre part, comme intégrer une boucle qui permet de lire uniquement les premiers caractères et ensuite de passer à la ligne suivante?
    Les 2 sont-ils compatibles?
    PS: j'ai cherché un peu partout mais les explications trouvées ne me suffisent pour m'aider à bien comprendre comment les 2 fonctionnent.

    Erreur:
    - The method extrairCarac(File, int ) in the type LectureText is not applicable for the arguments (String, int)

    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
    import java.io.*;
    public class LectureText {
    	public static void main(String[] args) throws IOException {
    		System.out.println(extrairCarac("Text1.txt",2)); 
    	}
     
    	public void extrairCarac(File f, int a){
    		try{
    			FileReader fichier = new FileReader(f); 
    			BufferedReader lec = new BufferedReader(fichier); 
    			String ligne= lec.readLine(); 
    			a = lec.read(); 
    			while (ligne!=null){
    				char car= (char)a ;
    				car+=(char)a; 
    				System.out.print(car); 
    			} //fermeture de while
    			ligne=r.readLine();
    		}
    		//lec.close(); 
    		catch (IOException e){
    			System.out.println("Erreur survenue");
    		}
    	}//fermeture de extrairCarac
     
    }
    Je vous remercie de votre aide,
    Cdlt,
    nesciio

  2. #2
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Citation Envoyé par nesciio Voir le message
    Bonjour,
    J'essaie de réaliser une méthode qui me permettrait de lire une ligne d'un fichier texte et d'en extraire les 4 premiers caractères.
    Bonjour,
    Pourquoi tu n'utilises pas la méthode substring(indiceInitial, indiceTerminal) après l'instruction de lecture d'une ligne dans ton fichier jusqu'à la dernière ligne. Pour ton cas, tu n'auras qu'à taper (affecter à une variable) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chaine=ligne.substring(0,4);
    ceci pour chaque ligne de ton fichier tel que tu le souhaites si je ne me trompe pas.
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Merci.
    Parce que j'ai une contrainte. Ce doit être une méthode avec 2 arguments.
    Un argument File f et int. Et avec ta solution, je ne suis pas sur que je la conserve mais je mets de côté l'idée qui est très bien.
    Je ne suis pas à l'aise avec les FileReader et autres méthodes ressemblantes.
    Cdlt,
    nesciio

  4. #4
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Citation Envoyé par nesciio Voir le message
    Merci.
    Parce que j'ai une contrainte. Ce doit être une méthode avec 2 arguments.
    Un argument File f et int. Et avec ta solution, je ne suis pas sur que je la conserve mais je mets de côté l'idée qui est très bien.
    Je ne suis pas à l'aise avec les FileReader et autres méthodes ressemblantes.
    Cdlt,
    nesciio
    Je te propose alors cette méthode et j'espère cette fois répondre à tes attentes...
    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
     
    private void extraireCaracteres(File f, int nbr){
    //Variable dans lequel on va affecter une ligne lue dans le fichier
    String ligne="";
     
    try{
    //vérifier si le fichier passé en paramètre existe bien
    if(!f.exists()){
    System.out.println("Le fichier "+f+" n'existe pas!");
    }
    else{
    FileReader lire= new FileReader(f);
    BufferedReader buf=new BufferedReader(lire);
    while((ligne=buf.readLine())!=null){
    System.out.println(ligne.substring(0,nbr));
    }
    }
    }catch(Exception e){
    e.printStrackTrace();
    }
    }
    Lors de l'appel, il te suffura simplement de créer un objet File comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    File fic= new File("leNomCompletDeTonFichier");
    //Ensuite appelle ta méthode par:
    extraireCaracteres(fic,4);
    Bonne programmation et surtout n'oublie pas de voter en bas à droite si cette réponse t'a été utile et de marquer Resolue une fois satisfais complétement.
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Hello,
    J'ai testé le code et j'ai ce message d'erreur qui s'affiche pour cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    extraireCaracteres(fic,4);
    Erreur
    Cannot make a static reference to the non-static method extraireCaracteres(File, int) from the type LectureText
    Si je remplace "private void extraireCaracteres(File f, int nbr)" par un public void, il y a le message que le fichier n'existe pas. Je l'ai pourtant importé dans mon src, dans le même package que mon fichier java. Pourquoi?

    nescii

  6. #6
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Citation Envoyé par nesciio Voir le message
    Hello,
    J'ai testé le code et j'ai ce message d'erreur qui s'affiche pour cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    extraireCaracteres(fic,4);
    Erreur


    Si je remplace "private void extraireCaracteres(File f, int nbr)" par un public void, il y a le message que le fichier n'existe pas. Je l'ai pourtant importé dans mon src, dans le même package que mon fichier java. Pourquoi?

    nescii
    ceci dépend de l'emplacement de ta méthode. Tu peux me passer le code complet de ta classe stp? chez moi tout marche nikel.
    Tu dois appeler la méthode tel que je t'ai présenté. Tout en commençant par passer en paramètre un fichier existant créé par File fic =new File("tonFichieQuiExiste");
    ensuite tu passes cet objet fic dans la méthode. C'est normal que le message "Fichier Inexistant" s'affiche si fic ne prend pas le nom complet d'un fichier existant, y compris son extension.
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    J'ai joint le fichier java.
    Faut-il le fichier texte?
    Dans mon arborescence, il y a le projet java > src > default package >
    LectureText.java
    Text1.text

    En modifiant légèrement private void en private static void j'ai le message suivant: le fichier n'est pas trouvé.

    Nesciio
    Fichiers attachés Fichiers attachés

  8. #8
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Salut,
    merci pour le fichier, je réponds dans 30' le temps pour de l'analyser.
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  9. #9
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Ok, c'est fait. Tu enlèves ton fichier dans src, tu le places plutôt dans le même niveau que src.
    Donc tu auras:
    - Dossier du projet
    ---- build
    ---- src
    ---- Text1.txt

    ensuite tu reprends la version corrigée de ton fichier java ci jointe:
    LectureText.java
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Re-bonsoir,
    Super ça marche. Tu m'as vraiment donné un sacré coup de pouce.
    Très content.
    Big Up
    Nesciio

  11. #11
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Points : 1 493
    Points
    1 493
    Par défaut
    Cool, T'es génial par ta précision mais aussi ta rapidité. N'hésite pas de revenir si besoin se fait sentir. Excellente soirée
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Je débute et je souhaite progresser. Je reviendrai probablement poster une nouvelle question.
    Excellente soirée aussi
    Nesciio

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

Discussions similaires

  1. FileWrite, FileRead
    Par ryo ohki dans le forum Langage
    Réponses: 7
    Dernier message: 14/01/2004, 15h22

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