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 :

lire la derniere ligne d'un fichier


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Par défaut lire la derniere ligne d'un fichier
    Bonjour tout L monde,

    J'ai un text qui contient plusieur ligne et j'aimerais retourner le contenue de la derniere ligne de ce fichier text pour faire un traitment apres .

    Comment je peut avoir le contenue de la derniere ligne de mon fichoer text avec la methode File Reader ?

    merci

  2. #2
    Membre expérimenté

    Avatar de mlny84
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    4 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 4 023
    Par défaut
    Bonjour,

    La première méthode qui me vient à l'esprit et d'utiliser l'aide de la FAQ sur comment lire un fichier ligne par ligne.
    Dans ton cas, c'est au moment où tu sors de la boucle while que ta variable de ligne contient la dernière ligne du fichier.

  3. #3
    Membre émérite Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    Si tu es sous unix, tu peux aussi passer par une commande système
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    String cmd = "tail -1 chemin_vers_ton_fichier";
        try {
     
            Process p = Runtime.getRuntime().exec(cmd);
            InputStream out = new BufferedInputStream(p.getInputStream());
            byte[] b = new byte[1024];
            int n = out.read(b);
            for (int i = 0; i < n; i++)
            System.out.print((char) b[i]);
     
        } catch (Exception e) {
            e.printStackTrace();
        }

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Par défaut
    Si tu es sous unix, tu peux aussi passer par une commande système
    merci ,mais je travail sous windows

    Je croit que resoudre ce prob revient a faire une boucle pour atteindre la dernier la ligne (mais ça marche pas encore) ,ou bien il existe une methode diercte qui retourne la dernier ligne .

  5. #5
    Membre chevronné Avatar de djsnipe
    Inscrit en
    Mai 2008
    Messages
    440
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 440
    Par défaut
    Citation Envoyé par Viscapon Voir le message
    Je croit que resoudre ce prob revient a faire une boucle pour atteindre la dernier la ligne
    C'est exactement ça, comme indiqué en réponse de ton précédent post http://www.developpez.net/forums/sho...d.php?t=567802

  6. #6
    Membre émérite Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    Citation Envoyé par mlny84 Voir le message
    Bonjour,

    La première méthode qui me vient à l'esprit et d'utiliser l'aide de la FAQ sur comment lire un fichier ligne par ligne.
    Dans ton cas, c'est au moment où tu sors de la boucle while que ta variable de ligne contient la dernière ligne du fichier.
    Tu as ta réponse ici.
    En gros,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Scanner scanner = new Scanner(new File("chemin_vers_ton_fichier"));
        String line = null;
        while (scanner.hasNextLine()) {
            line = scanner.nextLine();
        }
    // dans line, tu as ta dernière ligne
        System.out.println(line);
        scanner.close();

  7. #7
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Par défaut
    Oui ça devrait tourner de cette maniere l'ennui c'est que mon fichier contient des entier et la line qui contient ma dernier ligne est un string alors que moi je veut qu'elle retourne un entier puis l'incrementer .

    Au lieu du system.out.println que tu me propose dans le code d'avant .

  8. #8
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599

  9. #9
    Membre émérite Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    Ben, disons que tu devrais pouvoir convertir ton string en int
    Pour cela, la FAQ répond à cette question (encore une fois)
    http://java.developpez.com/faq/java/...aine_en_nombre

    Edit:grillé par morph41

  10. #10
    Membre expérimenté

    Avatar de mlny84
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    4 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 4 023
    Par défaut
    La variable "line" est une String qui contient la dernière ligne de ton fichier.
    Si cette dernière ligne est un entier, tu peux alors remplacer le ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println(line);
    Par : (Cf la FAQ sur la conversion d'une chaîne en entier)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int dernierEntier = Integer.parseInt(line);
    Et ensuite tu peux incrémenter dernierEntier et faire ce que tu veux avec.

    EDIT : grillée par zorm

  11. #11
    Membre émérite
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Par défaut
    Bonjour,
    dans la continuité des réponses précédentes,
    Une fois la ligne récupérée sous forme de String, il suffit de la convertir en Integer par Integer.parseInt(line); à la place de System.out.println(line);

  12. #12
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Par défaut
    Effectivement apres convertion ça marche tres bien .

    Je vous remercie les amis pour votre aide et vos reponses.

    C gentil de votre part .

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

Discussions similaires

  1. Lire un fichier sans lire la derniere ligne
    Par vincent.delaunay76 dans le forum C
    Réponses: 2
    Dernier message: 24/12/2014, 22h10
  2. [WD14E] lire les dernieres lignes d'un fichier texte
    Par itak33 dans le forum WinDev
    Réponses: 3
    Dernier message: 27/04/2010, 13h46
  3. effacer la dernier ligne d'un fichier
    Par maz dans le forum C
    Réponses: 2
    Dernier message: 17/11/2006, 11h56
  4. Réponses: 2
    Dernier message: 19/08/2006, 12h47
  5. [batch]Lire la 2ème ligne dans un fichier texte
    Par norac dans le forum Windows
    Réponses: 2
    Dernier message: 07/07/2006, 11h27

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