2014-03-12 197 views
-4

我的文本文件是這樣的:讀逗號分隔的文本文件

1, gold, silver, truck 
2, gold, fire, truck 
3, china, asia, gold, silver, truck, truck 
4, ireland, spain, prague, paris 

如何跳線(1,2,3,4)的第一個元素,並通過一個讀字一個休息?

而如何只讀取一行的第一個元素?

原因我需要將它們分開存儲到兩個HashMaps中。

THX

+2

我聞到了家庭作業... – ElGavilan

+0

'分裂()'字符串對象方法。也可以使用'BufferedFileReader'類'readLine()'方法 –

+0

使用'String.split(「,」)'和'String.replaceAll(「\\ w」,「」)' –

回答

0

我認爲你需要逐行讀取文件中的行,那麼試試這個:

BufferedReader br = new BufferedReader(new FileReader(file)); 
String line; 
while ((line = br.readLine()) != null) { 
    // do stuff 
} 
br.close(); 

,如果你想跳過第一個元素while循環之前添加此代碼。

br.readLine();//to skip the first line 
+0

第二個代碼段將如何幫助跳過第一個元素? – quantumbyte

1

您可以逐行讀取文件,並在逗號處分別讀取split。這給你一個String[]。該數組中的第一個元素是數字,其他是單詞。

0

您可以通過在線和使用字符串標記讀取文件行: StringTokenizer的ST =新的StringTokenizer(字符串的ReadLine,字符串 「」);檢查this

0

可以讀取令牌與逗號隔開,並通過令牌讀取令牌:

Scanner sc = new Scanner(new File("myfile.txt")); 
sc.useDelimiter(",|$"); 

int lineNumber = 1; 
String lineNumberStr = String.valueof(lineNumber); 

while (sc.hasNext()) { 

    String token = sc.next(); 

    if (toekn.equals(lineNumberStr)) { 
     ++lineNumber; 
     lineNumberStr = String.valueof(lineNumber); 
     continue; 
    } // if 

    putWordIntoMyHashMap(token); 
} // while 
相關問題