2012-02-25 3 views
-2

У меня есть текстовый файл, содержащий:как получить значения из текстового файла и поместить в массив

activity = a 
duration = 2 
predecessor = none 

activity = b 
duration = 6 
predecessor = a 

Как я могу получить значения активности, продолжительности и предшественник, и поставить в деятельность [], druartion [] и предшественник [] соответственно?

+0

Посмотрите на считыватель файлов INI. Для Java есть некоторые сети. –

+0

@ user1226004: как вы узнаете, вы не можете публиковать код в комментариях, потому что они теряют все форматирование и не читаются (если только они не представляют собой один короткий бит кода <1 полная строка). Рассмотрите возможность редактирования исходного сообщения выше и добавление кода там, а затем комментарий, в котором говорится, что вы сделали это. –

ответ

2

Прочтите файл, используя устройство чтения файлов (буферизованное считывающее устройство). Вызвать readLine() на считывающее устройство и выполнить модуль номера строки (использовать счетчик) с 3 для определения массива, к которому нужно нажать значение.

+0

Можете ли вы показать мне пример о том, как это сделать? заранее спасибо – user1226004

+2

@ user1226004: серьезно сейчас. Сначала попробуйте и покажите нам, что у вас есть. –

0

Это не эффективный код. Но это работает.

public static void main(String[] args) throws Exception 
{ 
    FileReader fr = new FileReader("text.txt"); 
    BufferedReader br = new BufferedReader(fr); 
    List<String> activity = new ArrayList<String>(); 
    List<String> duration = new ArrayList<String>(); 
    List<String> predecessor = new ArrayList<String>(); 
    String s; 
    String result[]; 
    while((s = br.readLine()) != null) { 
     result = s.split("="); 
     System.out.println(result[0]); 
     if(result[0].trim().equalsIgnoreCase("activity")) 
     { 
      activity.add(result[1].trim()); 
     } 
     else if(result[0].trim().equals("duration")) 
     { 
      duration.add(result[1].trim()); 
     } 
     else if(result[0].trim().equals("predecessor")) 
     { 
      duration.add(result[1].trim()); 
     } 
    } 
    printList(activity.iterator()); 
    printList(duration.iterator()); 
    printList(predecessor.iterator()); 
    fr.close(); 
} 
public static void printList(Iterator i) 
{ 
    while(i.hasNext()) 
    { 
     System.out.println(i.next()); 
    } 
} 
} 
+3

Спасибо, что опубликовали это до того, как оригинальный плакат показал плоды своих усилий. –

Смежные вопросы