Bonjour,
Depuis ce matin ,j'essayes de construire une classe main qui va lire un fichier plat qui contient plusieurs lignes(chaque ligne contient des données séparés par le délimiteurs "|;").
et après mon programme doit pouvoir extraire les 4 derniers données dans chaque ligne du fichier et les mettre à jour dans une table mysql(ce n'est pas le problème que j'ai),le problème c'est que le programme boucle en extractant tous les lignes mais sans différencier entre chaque ligne .
voila la structure du fichier:
voila la classe main:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 AG0001|;78015|;MRE|;Mlle|;cliente1|;prenomS|;1952-02-02|;eljadida|;Ma|;Ma|;4702|;Contrôleurs*laitiers,*inséminateurs*et*autres*agents*techniques*agricoles|;adresse15445qsd|;sqdqsd|;casablanca-maroc|;20200|;amiens|;Ma|;+33|;654564|;+33|;061231137|;CNI|;|;2020-04-02|;KO|;inssufissance au niveau solde client|;1700022656672011270000026215000071365|;N AG0003|;78015|;MRE|;Mlle|;cliente2|;yyy|;1986-02-02|;marrakech|;Ma|;Ma|;1102|;Maraîchers,*horticulteurs*sur*petite*exploitation|;adresse121881|;sqd|;casablanca-maroc|;20200|;bordeaux|;Ma|;+33|;654|;+33|;052323212|;PAS|;|;2020-02-12|;KO|;inssufissance au niveau solde client|;1700022656672011270000026215000071365|;N ...
l'outpout généré est le suivant:
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 String file = "C:\\Users\\belkaika\\Desktop\\batch_INJECT_TIERS_PROSPECTS\\RTR_INJECT_TIERS_PROSPECTS.txt"; String line; System.out.println ("fichier spécifié = " + file); ArrayList <String> words = new ArrayList<String> (); BufferedReader br = new BufferedReader (new FileReader (file)); //içi j'utilisais ce buffer quand je testai : while ((line = br.readLine()) != null) try{ while ((line = br.readLine()) != null) { StringTokenizer token = new StringTokenizer (line,"|;"); String[] List = new String [token.countTokens()]; int i = 0; while(token.hasMoreTokens()){ List[i] = token.nextToken(); System.out.println ("List[i] est égale = " + List[i]); //ici comment extraire seulement les 4 derniers données de chaque ligne délimités par le délimiteur "|;" i++; } // words.add(token.nextToken()); } } catch (IOException e) { System.out.println (e.getMessage()); e.printStackTrace(); } finally { br.close(); }
Merci de m'aviser sur ce problème .
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 List[i] est égale = AG0001 List[i] est égale = 78015 List[i] est égale = MRE List[i] est égale = Mlle List[i] est égale = cliente1 List[i] est égale = prenomS List[i] est égale = 1952-02-02 List[i] est égale = eljadida List[i] est égale = Ma List[i] est égale = Ma List[i] est égale = 4702 List[i] est égale = Contrôleurs*laitiers,*inséminateurs*et*autres*agents*techniques*agricoles List[i] est égale = adresse15445qsd List[i] est égale = sqdqsd List[i] est égale = casablanca-maroc List[i] est égale = 20200 List[i] est égale = amiens List[i] est égale = Ma List[i] est égale = +33 List[i] est égale = 654564 List[i] est égale = +33 List[i] est égale = 061231137 List[i] est égale = CNI List[i] est égale = 2020-04-02 List[i] est égale = KO List[i] est égale = inssufissance au niveau solde client List[i] est égale = 1700022656672011270000026215000071365 List[i] est égale = N List[i] est égale = AG0003 List[i] est égale = 78015 List[i] est égale = MRE List[i] est égale = Mlle List[i] est égale = cliente2 List[i] est égale = yyy List[i] est égale = 1986-02-02 List[i] est égale = marrakech List[i] est égale = Ma List[i] est égale = Ma List[i] est égale = 1102 List[i] est égale = Maraîchers,*horticulteurs*sur*petite*exploitation List[i] est égale = adresse121881 List[i] est égale = sqd List[i] est égale = casablanca-maroc List[i] est égale = 20200 List[i] est égale = bordeaux List[i] est égale = Ma List[i] est égale = +33 List[i] est égale = 654 List[i] est égale = +33 List[i] est égale = 052323212 List[i] est égale = PAS List[i] est égale = 2020-02-12 List[i] est égale = KO List[i] est égale = inssufissance au niveau solde client List[i] est égale = 1700022656672011270000026215000071365 List[i] est égale = N
Partager