2014-03-12 198 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 
相关问题