[JAVA] Extraire des lignes d'un fichier texte

Résolu/Fermé
valentin2703 Messages postés 180 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 30 septembre 2012 - 30 mars 2011 à 13:36
mkalakh01 Messages postés 5 Date d'inscription vendredi 2 septembre 2016 Statut Membre Dernière intervention 5 septembre 2016 - 5 sept. 2016 à 17:09
Bonjour,

Je suis actuellement en train d'essayer de récupérer des lignes d'un fichier texte.
Je récupère un fichier texte d'un switch :

GigabitEthernet1/1 is up, line protocol is up (connected)
Hardware is Gigabit Ethernet Port, address is 0022.5512.7b00 (bia 0022.5512.7b00)
Description: fr-scle-0x2-spare2
MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
Full-duplex, 1000Mb/s, link type is auto, media type is 1000BaseSX
input flow-control is on, output flow-control is on
ARP type: ARPA, ARP Timeout 04:00:00
Last input 00:00:01, output never, output hang never
Last clearing of "show interface" counters never
Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue: 0/40 (size/max)
5 minute input rate 1000 bits/sec, 3 packets/sec
5 minute output rate 1000 bits/sec, 1 packets/sec
158750283 packets input, 52415245126 bytes, 0 no buffer
Received 99952970 broadcasts (50134602 multicasts)
0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
0 input packets with dribble condition detected
3605845 packets output, 299411824 bytes, 0 underruns
0 output errors, 0 collisions, 0 interface resets
0 babbles, 0 late collision, 0 deferred
0 lost carrier, 0 no carrier
0 output buffer failures, 0 output buffers swapped out

Mais les deux seules lignes qui m'intéresses sont celles que j'ai mises en gras.

J'ai donc commencer a réaliser un petit programme en Java, mais pour l'instant il ne fait que lire ligne par ligne mon fichier texte, auriez vous des idées pour extraires ces deux lignes ?
Voici mon fichier Java tel qu'il est pour l'instant :

import java.io.*;
import java.util.*;

class Lecture{

public static void main(String[] args){

String filePath = "Charge-fr-scle-0x2-spare1.txt";

try{

BufferedReader buff = new BufferedReader(new FileReader(filePath));

try {
String line;
// Lire le fichier ligne par ligne
// La boucle se termine quand la méthode affiche "null"

while ((line = buff.readLine()) != null) {
System.out.println(line);
}

buff.close(); //Lecture fini donc on ferme le flux
}

catch (IOException e){
System.out.println(e.getMessage());
System.exit(1);
}

}
catch (IOException e) {
< System.out.println(e.getMessage());
System.exit(1);
}
}
}
A voir également:

8 réponses

Utilisateur anonyme
31 mars 2011 à 02:28
Salut,

   import java.io.*; 
   import java.util.*; 
   import java.util.regex.Pattern; //<<<<<<<<<<<<<<<<<<<<<<<<

   class Lecture{
      
      public static void main(String[] args){ 
      
         String filePath = "Charge-fr-scle-0x2-spare1.txt";
         String garder = "";
      
         try{ 
         
            BufferedReader buff = new BufferedReader(new FileReader(filePath)); 
         
            try { 
               String line; 
            // Lire le fichier ligne par ligne 
            // La boucle se termine quand la méthode affiche "null" 
            
            
               while ((line = buff.readLine()) != null) { 
                  System.out.println(line);
                
                // ajouter  ces 3 lignes <<<<<<<<<<<<<<<<<<<<<<<<<<<<<
                  int index = line.indexOf("put rate"); // partie commune des lignes à garder
                  if(index > 0) // si on trouve "put rate"
                     garder+= line + "|";
               	
               }
             
             // Ajouter les lignes qui suivent ... <<<<<<<<<<<<<<<<<<<<<<<<<
               //System.out.println("\n\ngarder = " + "\"" + garder + "\"");
               
               Pattern pattern = Pattern.compile("\\|"); // import java.util.regex.Pattern;
               String[] tabGarder = pattern.split(garder); // pour mettre les lignes conservées 
					                                            // dans le tableau tabGarder
               
               System.out.println("");
					
					// Résultat:
               for(int i = 0; i < tabGarder.length; i++)
               {
                  String lGardee = tabGarder[i];
                  System.out.println("lGardee: " + "\"" + lGardee + "\"");
               } // ... Jusqu'ici <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
            
               buff.close(); //Lecture fini donc on ferme le flux 
            } 
            
               catch (IOException e){ 
                  System.out.println(e.getMessage()); 
                  System.exit(1); 
               } 
         
         } 
            catch (IOException e) { 
               System.out.println(e.getMessage()); 
               System.exit(1); 
            } 
      } 
   }


Cordialement,

Dan
1
valentin2703 Messages postés 180 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 30 septembre 2012 9
Modifié par valentin2703 le 31/03/2011 à 08:30
Merci beaucoup pour ta réponse, ça marche super =)
Juste une petite question : C'est quoi Pattern ? Une méthode java qui te permet de garder certaines lignes ?
0
s'il vous plaî , aidez-moi pour un programme de code java permet de:
1-lire un fichier texte et d'extraire les mots pour les afficher .les mots séparés par des espaces, virgules,points,symboles
2-affichage des mots sans considération des articles , des symboles, les verbes être ,....:le ; la, il est
3-les # mots doivent enregistrés dans un tableau: la création d'un tableau à partir de fichier texte , il faut aussi faire une fonction d'affichage de ce tableau pour vérifier s'il soit correctement rempli
4-réaliser une fonction qui compte l'occurrence ou la fréquence des mots dans le texte, mettez aussi ces informations dans tableau de fréquence
5-les mots clés extraits automatiquement de ce texte seront seulement les 10 mots de fréquence les plus importants , il faut trier les tableaux des mots clés et de fréquences selon les fréquence
0
mina1515 Messages postés 7 Date d'inscription dimanche 16 juin 2013 Statut Membre Dernière intervention 16 juin 2013
16 juin 2013 à 19:33
voila j'ai deux fichiers txt
fichier1.txt contient: id-doc / id-cluster / score
fichier2.txt contient: (num-cluster)/ id-doc
je dois faire un code java pour créer un nouveau fichier txt qui sera comme suit:
id-doc / (num-cluster) / score
quelqu'un aurait une idée?
ou proposer moi une autre méthode :(
Merci
0
mkalakh01 Messages postés 5 Date d'inscription vendredi 2 septembre 2016 Statut Membre Dernière intervention 5 septembre 2016
5 sept. 2016 à 17:09
Bonsoir j'ai un fichier txt dont il y a
Service Nom de l'image PID Nom de la sessio Num�ro de s Utilisation
===== ========================= ======== ================ ===
Service BodetServiceTomcat.exe 1920 Services 0 325�208 Ko

moi je veux juste afficher la deuxieme ligne celle la "
Service BodetServiceTomcat.exe 1920 Services 0 325�208 Ko "
exactement je veux juste recuprer les valeurs entier " 325�208 Ko "
0