[JAVA] Extraire des lignes d'un fichier texte

Résolu
valentin2703 Messages postés 185 Statut Membre -  
mkalakh01 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -
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);
}
}
}

8 réponses

  1. danimo
     
    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
    1. valentin2703 Messages postés 185 Statut Membre 9
       
      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
    2. RaniaBlg
       
      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
    3. mina1515 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
       
      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
    4. mkalakh01 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
       
      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