我需要读取一个csv文件,以便使用java对其进行一些计算。我正在使用Scanner来读取它,但是我想在第一行之后(即在标题行之后)开始阅读它,现在我正在做:while(inputStream.hasNext())来读取所有,什么我应该这样做,不采取标题行?
答案 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();
编辑:添加了将非标题内容写入输出文件的代码。如果需要,可以随时在null
和scan
个引用中添加fw
个检查。