我有一个像这样的csv文件:
i,0 <-- 1st line
f,1,2,3 <-- 2nd line
s,0,1,2,3,4,5,6 <-- 3rd line
0,1,A
0,5,B
1,1,A
1,3,B
2,6,A
2,4,B
3,6,A
3,4,B
4,6,A
4,4,B
5,1,A
5,5,B
6,6,A
6,2,B
我如何在java中读取这些行到4个不同的数组/ arraylist? 我想要的输出是这样的:
无法正确使用..
答案 0 :(得分:1)
您可以使用扫描仪的nextLine来读取线条。由于您特别希望第1行,第2行和第3行分别属于第1,第2和第3个数组,因此可以调用3次读取,然后使用String的split方法填充数组。完成后,您可以创建一个循环并以您想要的方式填充arraylist。
所以基本上:读取和拆分(对于前3行中的每一行),然后读取并填充文件的其余部分的循环。
答案 1 :(得分:1)
我不会使用switch
。只需逐行读取文件即可。如果生成文件(或者你确定它是正确的),那么你可以像
reader = new BufferedReader(new FileReader(...));
array1 = readFirstLine(reader);
array2 = readSecondLine(reader);
array3 = readThirdLine(reader);
// and so on
并实现每个read...
方法来处理一种行格式。
更新:读取方法可能类似于
private String[] readFirstLine(BufferedReader reader) {
String line = reader.readLine();
String[] fields = line.split(",");
return fields;
}