Configuration: Windows XP Internet Explorer 6.0
Salut!
tiens, il me semble avoir déjà vu ce code quelquepart... ;-) J'ai corrigé tes erreurs. Regarde les commentaires dans le code.
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
public class DemogData {
private String filePath;
private String[][] data;
public DemogData(String filePath) throws IOException {
super();
this.filePath = filePath;
parseFile();
}
private void parseFile() throws IOException {
BufferedReader reader = new BufferedReader(new FileReader(filePath));
String line = null;
List<String> items = new ArrayList<String>();
StringTokenizer splitter;
while ((line = reader.readLine()) != null) {
items.add(line);
}
data = new String[items.size()][5];
int counter = 0;
for (String item : items) {
splitter = new StringTokenizer(item, "|");
// La ligne suivante ne sert à rien, je l'ai mise en commentaire
// int nv = splitter.countTokens();
int columnCounter = 0;
while (splitter.hasMoreElements()) {
// Tu ne remplissais pas ton tableau: normal que ça ne
// fonctionnait pas ;-)
data[counter][columnCounter] = (String) splitter.nextElement();
columnCounter++;
}
counter++;
}
System.out.println(data.length + " lines read from file");
}
public String[] getuList(String occupation) {
ArrayList<String> uList = new ArrayList<String>();
for (String[] dataLine : data) {
// Lorsque tu veux comparer 2 String, utilise la méthode
// String.equals() qui te premet de comparer les 2 String sur leur
// contenu plutôt que sur leur référence
// Essaye les deux lignes suivantes:
// System.out.println(new String("a")==new String("a"));
// System.out.println(new String("a").equals(new String("a")));
if (dataLine[3].equals(occupation)) {
uList.add(dataLine[0]);
}
}
String[] uListArray = new String[uList.size()];
return (String[]) uList.toArray(uListArray);
}
public static void main(String[] args) {
try {
DemogData demo = new DemogData("C:/u.txt");
String occupation = "student";
System.out.println("utilisateurs ayant profession" + " "
+ occupation + ": ");
for (String i : demo.getuList(occupation)) {
System.out.println(i + " ");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
;-) HackTrack |
| 09/09 12h29 | Récupération fichier texte sous access | Programmation | 26/10 17h21 | 13 |
| 18/01 23h14 | [JAVA]Recupération fichie txt dans une liste | Programmation | 08/03 16h10 | 9 |
| 09/04 11h10 | applet java et fichier texte | Programmation | 29/04 14h08 | 14 |
| 20/03 13h18 | [java] récupération de fichier texte matrice | Programmation | 23/03 13h51 | 4 |
![]() | Notepad2 - Notepad2 est un blc-note libre possédant des fonctionnalités avancées de coloration syntaxique. <h2>Fonctionnalités</h2>... | Catégorie: Traitement de texte Licence: Freeware/gratuit |
![]() | bulk rename utility - Bulk Rename Utility est un programme conçu pour renommer plusieurs fichiers simultanément. Sa conception se base sur des... | Catégorie: Gestion de fichiers Licence: Freeware/gratuit |
![]() | ExamDiff - Ce petit logiciel est capable de comparer le contenu de deux fichiers textes, et d'afficher les différences entre eux avec... | Catégorie: Système Licence: Freeware/gratuit |
![]() | Metapad - metapad est un éditeur de texte simple, petit et rapide (et complètement gratuit) avec des fonctionnalités similaires à... | Catégorie: Traitement de texte Licence: Freeware/gratuit |