Fichier texte vers un tableau

Signaler
-
Messages postés
519
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
19 décembre 2016
-
Bonjour tout le monde
J'ai un fichier texte du type
D|C:\reports|karrachid|Report Authors|Allowed|FILE_SYNCHRONIZE

D|C:\reports|karrachid|Report Authors|Allowed| FOLDER_ADD_FILE

F|C:\reports\Annual Report.txt|karrachid|john|Denied:|FILE_ALL_ACCESS

F|C:\reports\Annual Report.txt|karrachid|john|Denied:|FILE_READ_DATA

Mon probleme est que je voulais stocker les donnees entre un | dans un tableau mais je n'y arrive pas
voici mon code

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
import java.util.Vector;

class LireLigne
{
@SuppressWarnings("null")
public static void main(String[] argv) throws IOException
{
Vector<String> v = new Vector<String> ();
String ligne = "";
String fichier = "";
BufferedReader clavier = new BufferedReader(new InputStreamReader(System.in));
//preparation de fichier
System.out.println("Quel est le nom de votre fichier ?");
//taper le nom du fichier (fichier.txt)
fichier = clavier.readLine();
BufferedReader ficTexte;
try {
ficTexte = new BufferedReader(new FileReader(new File(fichier)));
do {
//lecture du fchier texte
ligne = ficTexte.readLine();

//affichage du contenu
if (ligne != null) {
//System.out.println(ligne);
StringTokenizer st=new StringTokenizer(ligne, "|");

String s = new String();

//String a;
while(st.hasMoreTokens()){
System.out.println(st.nextToken());
s = st.nextToken();
//v.add(s);
//System.out.println(v);


}

}


}
while (ficTexte != null);
ficTexte.close();
System.out.println("\n");
}


catch (FileNotFoundException e) {
System.out.println(e.getMessage());
} catch (IOException e) {
System.out.println(e.getMessage());
}

}
}

3 réponses

Messages postés
519
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
19 décembre 2016
25
Salut,

Tu fais 2 fois nextToken :
System.out.println(st.nextToken());
s = st.nextToken(); 


Essaie plutôt avec ça :
s = st.nextToken();
System.out.println(s);

Salut, Merci mais ce n'est pas ca mon probleme, je veux que les donnees du fichier soient stockés dans un tableau pour que je puisse les récupérer apres.
Messages postés
519
Date d'inscription
mercredi 21 mars 2007
Statut
Membre
Dernière intervention
19 décembre 2016
25
Salut,

Essaie d'être aussi précis que possible.

Voilà une façon de créer un tableau à partir d'une collection (Vector par exemple) :
Vector<String> v = new Vector<String>();
v.add("1");
v.add("2");

String[] a = new String[v.size()];
v.toArray(a);