我的文字文件如下:
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
答案 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)
你看过commons-csv吗? http://commons.apache.org/proper/commons-csv/
答案 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