Bonjour,
je suis en train d'écrire un code qui me permettrait de récupérer des lignes d'un fichier texte qui comporteraient un chiffre puis de copier le tout vers un nouveau fichier.
par ex :
source.txt contient des lignes comme:
Sur ces 5 lignes je voudrais extraire seulement les lignes qui comportent le 1, et 2 , la ligne 3,4 et 5 qui ne comporte pas de numero je voudrai les ignorer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 2001/01/25 nom prenom 1 adresse pays region heure 11/25/455 2001/02/26 prenom nom 2 pays regions 25/1/56 2001/01/25 nom prenom adresse pays region heure 11/28/455 2001/01/25 nom prenom adresse pays region heure 11/28/455 2001/04/25 nom prenom adresse pays region heure 11/25/455
Donc voici mon code ou j'utilise indexof() et j'ai l'impression qu'il y a un problème car quand je l'execute, j'ai une erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70 package scannerreadfile; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; public class ScannerReadFile { private static BufferedWriter bw; public static void main(String[] args) throws FileNotFoundException, IOException { Scanner scanner = null; StringBuilder buffer = new StringBuilder(); FileReader fr = new FileReader("C://Source/Source.txt"); try { Scanner input = new Scanner(fr); Boolean lines[] = new Boolean[5]; for(int i = 0; i < 5; i++){ String line = input.nextLine(); int index001 = line.indexOf("1"); int index002 = line.indexOf("2"); if(index001 >= 0) lines[i] = true; else if(index002 >= 0) lines[i] = true; else lines[i] = false; } input.close(); Scanner read = new Scanner(fr); for(int i = 0; i < 5; i++){ if((lines[i])==true) { String line = read.nextLine(); //System.out.println(line); } read.close(); bw=new BufferedWriter(new FileWriter(new File("C:/Target/Target-test.txt"),true)); bw.write(buffer.toString()); bw.newLine(); bw.close(); } catch (IOException e) { e.printStackTrace(); } if(bw != null) scanner.close(); }}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Exception in thread "main" java.util.NoSuchElementException: No line found at java.util.Scanner.nextLine(Scanner.java:1516) at scannerreadfile.ScannerReadFile.main(ScannerReadFile.java:27) Java Result: 1
Partager