[JAVA] Extraire des lignes d'un fichier texte
Résolu
valentin2703
Messages postés
180
Date d'inscription
Statut
Membre
Dernière intervention
-
mkalakh01 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
mkalakh01 Messages postés 5 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);
}
}
}
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:
- Lire un fichier java
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Lire un fichier epub - Guide
- Fichier bin - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
8 réponses
Salut,
Cordialement,
Dan
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
Juste une petite question : C'est quoi Pattern ? Une méthode java qui te permet de garder certaines lignes ?
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
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
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 "