[JAVA] Extraire des lignes d'un fichier texte
Résolu
valentin2703
Messages postés
185
Statut
Membre
-
mkalakh01 Messages postés 7 Statut Membre -
mkalakh01 Messages postés 7 Statut Membre -
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
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - 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 "