le fichier contient plusieurs lignes biensur.
pour différencier chaque colonne j'utilise la fonction:
FileReader fr = new FileReader(fichierTexte);
BufferedReader br = new BufferedReader(fr);
String ligne = "";
ligne = br.readLine();
String[] chaines = ligne.split(";");
pour récupérer la première ligne de la deuxième colonne je fait:
String codeSociete = chaines[1].trim();
car le compteur commence à 0 donc
chaines[0].trim();
correspond à la 1ere colonne ^^
le travail que je doit faire c'est de réaliser des états pour le reporting,en récupérant des données à partir des fichier texte et de faire la mise en page de ces données à l'aide de l'API iText et ensuite imprimer le résultat (l'état) en pdf.
tout marche bien sauf que, pour un état donné, je doit faire une condition sur une variable que je doit remplir a partir du fichier.
je m’explique: pour le fichier en haut j'ai une colonne qui a 2 valeurs: code1 et code2,
pour code1, je doit imprimer la valeur: code1 suivie des autres éléments correspondant a cette valeur dans le fichier txt, ainsi que pour la valeur code2 ...
je doit obtenir un pdf comme suit:
+++++++++++++++++++++++++++++++
+ valeur: code1
+ banque: BANQUE POPULAIRE DE CASA
+++++++++++++++++++++++++++++++
+
+
+ les autres données
+
+
+++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++
+ valeur: code2
+ banque: BANQUE POPULAIRE DE CASA
+++++++++++++++++++++++++++++++
+
+
+ les autres données
+
+
+++++++++++++++++++++++++++++++
je sais pas quelle est la condition que je peut faire sur cette variable, j'ai fait bcp bcp de tests et de conditions mais sans résultat
je sais pas si j'ai arrivé a bien expliquer le problème je l'espère ..
et Merci
Ensuite, tu créés une classe qui contient toutes les infos de la ligne (je l'appelle Etablissement)
public class Etablissement {
private String code;
private String nom;
// Tu places toutes les informations dont tu as besoin sur chaque ligne
public Etablissement(String code, String nom, ...){
this.code=code;
this.nom=nom;
//...
}
public String getCode(){
return code;
}
public String getNom(){
return nom;
}
}
Ensuite, tu vas convertir ta liste de lignes en liste d'établissements :
List<Etablissement> etablissements = new ArrayList<Etablissement>();
for(String s : listeLigne){
StringTokenizer st = new StringTokenizer(s, ";");
code=st.nextToken().trim();
numero=st.nextToken().trim();
nom=st.nextToken().trim();
//...
etablissements.add(new Etablissement(code, nom, ...);
}
Et là, tu auras tous les établissements dans une liste que tu pourras manipuler facilement.
Remarque, tu peux faire une Map avec le code comme clé d'entée...
pink90
Messages postés34Date d'inscriptionlundi 25 avril 2011StatutMembreDernière intervention18 juin 2013 12 sept. 2012 à 10:38
Merci Julien,
mais mon problème c'est comment faire une condition
l'idée que j'ai essayer de faire c'est de remplir un tableau avec toutes les valeurs de la colonne code présentes dans le fichier texte, puis remplir une variable avec la première valeur du tableau(j'ai choisit un tableau car j'ai une seule colonne), soit:
String code = chaines[1].trim();
puis de parcourir tout le tableau, si la valeur est égale à code, il va afficher cette valeur suivie d'autres information, sinn il va afficher la nouvelle valeur suivie des autres informations etc pour chaque valeur de code comme l'illustration que j'ai donné en haut
j'ai fait bcp de test mais j’obtiens des états déformés