在Java中读取逗号分隔的文本文件

时间:2014-03-12 13:14:26

标签: java hashmap java.util.scanner readfile

我的文字文件如下:

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

5 个答案:

答案 0 :(得分:1)

您逐行阅读文件,并在逗号处的每一行split。这会给你一个String[]。该数组中的第一个元素是数字,其他元素是单词。

答案 1 :(得分: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

答案 2 :(得分:0)

答案 3 :(得分:0)

您可以逐行读取文件并使用字符串标记符: StringTokenizer st = new StringTokenizer(String readline,String“,”);查看this

答案 4 :(得分: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