2012-02-25 16 views
-2

我有一個包含一個文本文件:如何從一個文本文件中獲取價值觀念,在數組

activity = a 
duration = 2 
predecessor = none 

activity = b 
duration = 6 
predecessor = a 

我怎樣才能得到活動,持續時間和前任的價值,並投入活動[], druartion []和前任[]分別是?

+0

看看INI文件閱讀器。 Java有一些網絡。 – 2012-02-25 18:35:25

+0

@ user1226004:正如你所發現的那樣,你不能在註釋中發佈代碼,因爲它們丟失了所有的格式並且不可讀(除非它們是一小段代碼<1整行)。考慮編輯上面的原始帖子並在其中添加代碼,然後在此處發表評論,告訴我們您已完成此操作。 – 2012-02-25 19:37:49

回答

2

使用文件讀取器(緩衝文件讀取器)通讀文件。 在閱讀器上調用readLine(),並使用3來計算行數(使用計數器)的模數以確定值應推入的數組。

+0

你能告訴我一些關於如何做的例子嗎?在此先感謝 – user1226004 2012-02-25 18:50:51

+2

@ user1226004:現在認真。你先試着告訴我們你有什麼。 – 2012-02-25 19:38:42

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

感謝您在原始海報顯示他努力的成果之前發佈此內容。 – 2012-02-25 19:58:40

相關問題