Lecture fichier en java
Bilgroz
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Bilgroz Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bilgroz Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
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!
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:
- Lecture fichier en java
- Fichier bin - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Fichier epub - Guide
- Fichier rar - Guide
1 réponse
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...
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...
Bilgroz
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
merci beaucoup, je vais essayer d'intégrer çà à mon programme.