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 :

Recupérer des données d'un fichier texte


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 48
    Par défaut Recupérer des données d'un fichier texte
    Bonjour,

    Comme énoncé dans le titre du topic, j'aimerais savoir comment peut-on en JAVA récupérer des données à partir d'un fichier texte (*.txt).

    Admettons le programme suivant :

    j'ai une variable (String) NombreArecuperer

    je souhaite tester cette variable avec une condition if ...

    Par exemple si cette variable NombreArecuperer est différente de 12 alors j'affiche "OK" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (NombreArecuperer != "12")
         return AFFICHAGE_OK;
    else
         return AFFICHAGE_NOK;
    Je souhaite qu'un utilisateur lambda puisse à partir d'un fichier texte (par exemple dans c:\fichier.txt) définir la variable NombreArecuperer simplement en écrivant un chiffre dedans.

    Nous aurons donc un fichier c:\fichier.txt qui contient un chiffre (12,11,1,8,....).

    Mon objectif est d'importer la valeur de ce chiffre dans la variable NombreArecuperer de mon programme JAVA.

    Si quelqu'un peut m'éclairer sur la façon de procéder pour réaliser cela je le remercie d'avance.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 9
    Par défaut
    Si j'ai bien compris ce que tu demandes, tu veux lire le chiffre qu'il y a dans le fichier et le mettre dans nombreArecuperer c'est bien sa?

    Dans ce cas fais:
    BufferedReader r = new BufferedReader(new FileReader("fichier.txt"));
    String val= r.readLine();
    NombreARecuperer = Integer.valueOf(val);

    Aprés ça dépend si il y a une seul valeur dans le fichier texte...

  3. #3
    Membre très actif Avatar de unknow0
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 452
    Par défaut
    Bonjour,

    simplement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    BufferedReader br=new BufferedReader(new FileReader(filePath));
    String line=br.readLine();
    int NombreArecuperer=-1;
    try
    	{
    	nombreArecupere=Integer.parseInt(line);
    	}
    catch(NumberFormatException e)
    	{
    	//pas un nombre.
    	}

  4. #4
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 48
    Par défaut
    oui c'est bien cela Anthony, merci je vais tester tout ça ...

  5. #5
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 48
    Par défaut
    @Anthony

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	BufferedReader r = new BufferedReader(new FileReader("/NombreARecuperer.txt"));
    	String val= r.readLine();
    	numberToRetrieve = Integer.valueOf(val);
    quand j'utilise le code suivant, j'ai une erreur de syntaxe ";" sur la ligne 2
    Erreur de syntaxe sur le sème ";", , attendu

    @unknow0

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    	BufferedReader br=new BufferedReader(new FileReader("/NombreARecuperer.txt"));
    	String line=br.readLine();
    	int nombreArecuperer=-1;
    	try
    		{
    		nombreArecupere=Integer.parseInt(line);
    		}
    	catch(NumberFormatException e)
    		{
    		//pas un nombre.
    		}
     
    }
    j'ai une erreur sur la ligne 3 :"Plusieurs marqueurs sur cette ligne
    - Erreur de syntaxe sur le sème ";", { était attendu après
    ce sème
    - Champ SVIAccueil.nombreArecuperer en double"

    J'ai du oublier quelque chose mais quoi,merci...

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Woah. Là pour le coup il vaudrait mieux attacher le fichier entier.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 48
    Par défaut
    bien sûr :

    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 java.io.*;
     
    public class Test {
     
     
    	public static void main(String[] args) {
     
     
     
    	BufferedReader r = new BufferedReader(new FileReader("NombreARecuperer.txt"));
    	String val= r.readLine();
    	numberToRetrieve = Integer.valueOf(val);
     
    	System.out.println(numberToRetrieve);
     
    }
    }
    Voilà c'est un programme test bien sûr car il n'a aucun intérêt sinon

    je veux juste afficher la valeur de numberToRetrieve contenu dans un fichier nommé NombreARecuperer.txt

    EDIT : mon fichier se trouve dans C:\NombreARecuperer.txt

    l'erreur est désormais la suivante : numberToRetrieve ne peut pas être résolu

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 9
    Par défaut
    Salut,
    Pour l'erreur : Séquence d'échappement non valide (les séquences valides sont \b \t \n \f \r \" \' \\ )

    Tu as bien mis :
    new FileReader("c:\\NombreARecuperer.txt")).

    Sinon essaye aussi de tester ton programme en mettant le fichier NombreARecuperer.txt dans le même dossier que le Test.java et regarde si ça fonctionne (en mettant new FileReader("NombreARecuperer.txt")).

  9. #9
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 48
    Par défaut
    Citation Envoyé par AnthonyBOSS Voir le message
    Salut,
    Pour l'erreur : Séquence d'échappement non valide (les séquences valides sont \b \t \n \f \r \" \' \\ )

    Tu as bien mis :
    new FileReader("c:\\NombreARecuperer.txt")).

    Sinon essaye aussi de tester ton programme en mettant le fichier NombreARecuperer.txt dans le même dossier que le Test.java et regarde si ça fonctionne.

    oui j'ai bien mis le \\ je test ça .

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 9
    Par défaut
    Pense a mettre new FileReader("NombreARecuperer.txt"));
    à la place de new FileReader("c:\\NombreARecuperer.txt")); si ça ne fonctionne pas (avec NombreARecuperer dans le même dossier que Test.java).

  11. #11
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 48
    Par défaut
    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 java.io.*;
     
    public class Test {
     
     
    	public static void main(String[] args) throws Exception {
     
     
     
    	BufferedReader r = new BufferedReader(new FileReader("NombreARecuperer.txt"));
    	String val= r.readLine();
    	int numberToRetrieve = Integer.valueOf(val);
     
    	System.out.println(numberToRetrieve);
     
    }
    }
    J'ai placé NombreARecuperer.txt dans le même dossier que Test.java

    Mais j'ai toujours cette fichu erreur sous éclipse
    Séquence d'échappement non valide (les séquences valides sont \b \t \n \f \r \" \' \\ )

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 9
    Par défaut
    Ton erreur sous eclipse s'affiche quand tu lance le programme ou elle s'affiche en face de la ligne erroné dans le code?

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 23/05/2014, 13h09
  2. Extraire des donnés d'un fichier texte
    Par sadsad dans le forum Langage
    Réponses: 2
    Dernier message: 07/02/2006, 15h09
  3. Réponses: 2
    Dernier message: 16/01/2006, 19h34
  4. Réponses: 2
    Dernier message: 05/01/2006, 00h29
  5. Réponses: 3
    Dernier message: 22/02/2004, 20h09

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