如何在使用Scanner读取csv时不读取标题行?

时间:2014-10-18 23:52:36

标签: java csv file-io

我需要读取一个csv文件,以便使用java对其进行一些计算。我正在使用Scanner来读取它,但是我想在第一行之后(即在标题行之后)开始阅读它,现在我正在做:while(inputStream.hasNext())来读取所有,什么我应该这样做,不采取标题行?

1 个答案:

答案 0 :(得分:1)

您可以在阅读循环之外额外scan.nextLine();为您不使用返回值:

Scanner scan = new Scanner(new File("C:\\input.txt"));
if (scan.hasNext()) {
    // skip header line
    scan.nextLine();
}

// write contents to output file
FileWriter fw = new FileWriter("C:\\output.txt");

// read the rest of the file
while (scan.hasNext()) {
    fw.write(scan.nextLine() + System.getProperty("line.separator"));
}

scan.close();
fw.close();

编辑:添加了将非标题内容写入输出文件的代码。如果需要,可以随时在nullscan个引用中添加fw个检查。