2010-10-02 3 views
2

хорошо, поэтому я пытаюсь прочитать текстовый файл. а затем разделить его на строки, которые фактически представляют процессы в массиве таблицы процессов. то я хочу разделить все жетоны в линии и сделать все жетоны линии арраистом снова, пока это все, что у меня есть:Попытка получить каждую строку текстового файла как arraylist

не работает правильно. я получаю:

processes:[[netscape, 1, 00ACF3, 20990, 12DFFE, 000F00, 000000, 000000, 000000, AF, 011356, 000000, 000000, 4FFFFF, 39AB00, 000000, 0A0B92, FFFFFF]] 
processes:[[netscape, 1, 00ACF3, 20990, 12DFFE, 000F00, 000000, 000000, 000000, AF, 011356, 000000, 000000, 4FFFFF, 39AB00, 000000, 0A0B92, FFFFFF, textpad, 2, 391BCA, 871BAF, DEA14C, EEFC30, 000000, 000000, 0000AA, AF, 000000, 000000, 000000, 000000, 000000, FFFFFF, B4344D, 000000], [netscape, 1, 00ACF3, 20990, 12DFFE, 000F00, 000000, 000000, 000000, AF, 011356, 000000, 000000, 4FFFFF, 39AB00, 000000, 0A0B92, FFFFFF, textpad, 2, 391BCA, 871BAF, DEA14C, EEFC30, 000000, 000000, 0000AA, AF, 000000, 000000, 000000, 000000, 000000, FFFFFF, B4344D, 000000]] 

BufferedReader inputStream = null; 
ArrayList<ArrayList<String>> lines = new ArrayList<ArrayList<String>>(); 
ArrayList<String> tokens = new ArrayList<String>(); 
/* read the file*/ 
try { 
    inputStream = new BufferedReader(new FileReader("p56.txt")); 

    while (true) { 
     /* while the file was read*/ 
     /* now. split the file into the lines.*/ 
     String line = inputStream.readLine(); 
     if (line == null) { 
      break; 
     } 
     //if there are no more lines left. break 

     // split the lines into tokens and make into an arraylist*/ 
     Scanner tokenize = new Scanner(line); 
     while (tokenize.hasNext()) { 
      /*while there are still more*/ 
      tokens.add(tokenize.next()); 
     } 
     lines.add(tokens); 

     System.out.println("processes:" + lines); 
    } 
} 
+0

Предпочтительно предоставить фрагмент исполняемого кода вместе с текущими данными о выходе. Просто предложение. –

+0

Что такое фрагмент исполняемого кода? – Luron

+0

Фрагмент, который мы можем попробовать в нашей системе, как только вы вставьте его здесь :-) Так или иначе, похоже, что ваше сообщение отредактировано, так что все в порядке. –

ответ

1

Вы должны переместить линию

ArrayList<String> tokens = new ArrayList<String>(); 

направо перед тем

while (tokenize.hasNext()) { 

Это будет затем создать новый список токенов обрабатывая каждую строку. В противном случае вы получите список всех токенов для всех строк файла.

+0

ДА !!!!!! большое спасибо – Luron

+0

Добро пожаловать :) – BalusC

+0

как интересно! Спасибо. теперь как я могу получить доступ к токенированному арраисту каждого процесса? – Luron