有没有办法在Java中一次读取两行csv文件?
我可以使用Scanner一次读取一个(必须这样做):
String line = input.nextLine();
String[] nline = line.split ("[,]");
......
Run Code Online (Sandbox Code Playgroud)
以下是一些示例数据和简短说明.我需要一次读取这两个,所以我可以继续我的其他处理.
以"创建"开头的第一行创建一个人,第二行"动作"是创建者的动作
create,Mr. Jones,blah,blah
action,1,3
create,Mrs.Smith,blah,blah
action,4,10
....
Run Code Online (Sandbox Code Playgroud)
提前致谢.
如果你想用Java解析CSV文件我会避免通过string.split()方法进行行拆分.如果您的字段包含逗号,则可能会遇到问题.对于Java,我建议使用opencsv来解析数据.与使用扫描仪类似,您可以逐行读取它,或者如果它不是太大则将整个文件啜饮,并且只是一次遍历列表到项目.
CSVReader reader = ...
String[] firstLine; // fields from first line
String[] secondLine; // fields from second line
while ((firstLine = reader.next()) != null && (secondLine = reader.next()) != null) {
// do something with two lines
}
Run Code Online (Sandbox Code Playgroud)
要么
CSVReader reader = ...
List<String[]> allLines = reader.readAll();
// TODO: validate we have an even number of lines
for (int i = 0; i < allLines.size(); i += 2) {
String[] firstLine = allLines.get(i);
String[] secondLine = allLines.get(i+1);
// do something with two lines
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2456 次 |
| 最近记录: |