2009-04-12 6 views
0

J'ai le fichier suivant enregistré en tant que .txt:Comment analyser du texte dans des listes en Java?

I Did It Your Way, 11.95 
The History of Scotland, 14.50 
Learn Calculus in One Day, 29.95 
Feel the Stress, 18.50 
Great Poems, 12.95 
Europe on a Shoestring, 10.95 
The Life of Mozart, 14.50 

je dois afficher le titre des livres et les prix sur les différents JList s en Java. Comment je fais ça?

De même si j'ai un tableau avec deux valeurs (une fois que je sépare le titre du prix) comment puis-je copier le titre et le prix dans leurs tableaux respectifs?

+0

Est-il possible qu'un titre contienne une virgule? – basszero

Répondre

4

Semble assez simple que vous n'avez pas besoin de rien de spécial.

BufferedReader r = new BufferedReader(new FileReader("file.txt")); 
List<String> titles = new ArrayList<String>(); 
List<Double> prices = new ArrayList<Double>(); 

while ((String line = r.readLine()) != null) { 
    String[] tokens = line.split(","); 
    titles.add(tokens[0].trim()); 
    prices.add(Double.parseDouble(tokens[1].trim())); 
} 

r.close(); 
0

Si les valeurs sont séparées par des virgules, vous pouvez utiliser http://opencsv.sourceforge.net/. Voici l'exemple de code,

  CSVReader reader = new CSVReader(new FileReader("test.txt")); 
    List myEntries = reader.readAll(); 

    int noOfEntries=myEntries.size(); 

    String[] titles=new String[noOfEntries]; 
    String[] price=new String[noOfEntries]; 

    String[] entry=null; 
    int i=0; 
    for(Object entryObject:myEntries){ 
     entry=(String[]) entryObject; 
     titles[i]=entry[0]; 
     price[i]=entry[1]; 
     i++; 
      } 
Questions connexes