Как мне разобрать текст в списки на Java? - PullRequest
0 голосов
/ 13 апреля 2009

У меня есть следующий файл, сохраненный как .txt:

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

Мне нужно отобразить название книг и цены на разные JList s на Java. Как мне это сделать?

Также, если у меня есть массив с двумя значениями (когда я отделяю заголовок от цены), как мне скопировать заголовок и цену в их соответствующие массивы?

Ответы [ 2 ]

4 голосов
/ 13 апреля 2009

Кажется достаточно простым, чтобы вам ничего не нужно.

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 голосов
/ 13 апреля 2009

Если значения разделены запятой, вы можете использовать http://opencsv.sourceforge.net/. Вот пример кода,

            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++;
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...