Lecture fichier en java

Fermé
Bilgroz Messages postés 3 Date d'inscription jeudi 23 décembre 2010 Statut Membre Dernière intervention 4 juin 2011 - 23 déc. 2010 à 12:47
Bilgroz Messages postés 3 Date d'inscription jeudi 23 décembre 2010 Statut Membre Dernière intervention 4 juin 2011 - 23 déc. 2010 à 15:26
Bonjour, j'ai un projet à réaliser en java et j'aurai besoin d'aide.
J'aurais besoin de récupérer des informations à partir d'un fichier texte du type:

Le parrain : Francis Ford Coppola
Pulp Fiction : Quentin Tarantino
Casablanca : Michael Curtiz
Psychose : Alfred Hitchcock
Lawrence d'Arabie : David Lean
Le dictateur : Charles Chaplin
...

Je dois donc récupérer les noms de film d'un coté et les réalisateurs de l'autre afin de les ranger dans une liste puis une table (bon pour le rangement je pense pouvoir m'en charger) .
Par contre pour ce qui est de la lecture du fichier je coince, je pense qu'il faut que j'utilise un StringTokenizer du début de la ligne jusqu'à ":" et un second de ":" jusqu'à fin de la ligne mais je ne voie vraiment pas comment faire.

Si quelqu'un pouvais m'aider je lui en serais très reconnaissant.
Merci d'avance!


A voir également:

1 réponse

coqrya Messages postés 6 Date d'inscription jeudi 14 décembre 2006 Statut Membre Dernière intervention 5 avril 2011 1
23 déc. 2010 à 14:49
public static ArrayList<ArrayList> parser(String chemin, String delimiteur) throws FileNotFoundException, IOException {
ArrayList<ArrayList> donnees;
File fichier = new File(chemin);

if(!fichier.exists()) {
throw new FileNotFoundException("Le fichier n'existe pas.");
}
if(fichier.isDirectory()) {
throw new FileNotFoundException("Le chemin désigne un répertoire et non un fichier.");
}

StringTokenizer ligneAParser;
BufferedReader reader = new BufferedReader(new FileReader(fichier));

donnees = new ArrayList<ArrayList>();
ArrayList<String> ligneDeDonnees;

String ligne = null;
String valeur = null;

while((ligne = reader.readLine()) != null) {
ligneDeDonnees = new ArrayList<String>();
ligneAParser = new StringTokenizer(ligne, delimiteur);

while(ligneAParser.hasMoreElements()) {
valeur = (String) ligneAParser.nextElement();
ligneDeDonnees.add(valeur);
}

donnees.add(ligneDeDonnees);
}

return donnees;
}



Le "delimiteur" sera pour toi ":".
Essaye de bidouiller un peu le code, ca devrait marcher...
1
Bilgroz Messages postés 3 Date d'inscription jeudi 23 décembre 2010 Statut Membre Dernière intervention 4 juin 2011
23 déc. 2010 à 15:26
merci beaucoup, je vais essayer d'intégrer çà à mon programme.
0