我需要读取一个csv文件,以便使用java对它进行一些计算。我使用Scanner来读取它,但是我想在第一行(即,在标题行之后)开始阅读它,现在我只是在执行:while(inputStream.hasNext())来读取所有内容,我应该这样做,不要采取标题行?如何使用扫描仪读取csv时不读取标题行?
回答
你可以做一个额外的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();
编辑:添加的代码对于非头内容写入到输出文件。如果需要,请随意在您的scan
和fw
参考文献中添加一些null
检查。
嗨,非常感谢!另外,你能告诉我如何不输出输出,我可以将它写入另一个文件,如output.csv? – 2014-10-19 00:15:47
我的意思是,就像我必须从一列中找到最小值,最大值和平均值,并将其作为不同列以Min,Max,Average作为这些列的标题名称输出到output.csv。怎么做? – 2014-10-19 00:58:25
现在,如果我只是这样做:fw.write(min + System.getProperty(“,”)); fw.write(max + System.getProperty(“,”));在while循环之后,我在output.csv文件中得到以下内容:0.03null0.26null(0.03是最小值,最大值是0.26) – 2014-10-19 01:00:34
- 1. 使用扫描仪读取.CSV文件?
- 2. 使用扫描仪读取
- 3. 读取文件,扫描仪
- 4. 使用扫描仪类读取文件
- 5. 使用扫描仪读取字符
- 6. 使用扫描仪读取文件
- 7. 扫描仪只读取第一行
- 8. Java使用扫描仪读取文件,然后读取线
- 9. 使用扫描仪读取文件时的问题
- 10. 如何使用扫描仪从命令行读取文件
- 11. 使扫描仪读取文本文件
- 12. 如何使用usb4java同时读取两台扫描仪?
- 13. 使用扫描仪类读取CSV文件错误
- 14. 用扫描仪读取文件
- 15. Java扫描仪无法读取文件
- 16. 扫描仪仅读取文本文件
- 17. 从扫描仪读取字符
- 18. 从扫描仪读取文件
- 19. Java扫描仪从文件中读取
- 20. jMeter挂在扫描仪上读取
- 21. 从USB条形码扫描仪读取
- 22. Java扫描仪()从阵列读取
- 23. 扫描仪不读全文
- 24. 如何使用扫描仪从Java文件读取?
- 25. 如何读取文件,并使用扫描仪
- 26. 如何在mac上使用java扫描仪读取TextEdit文档
- 27. 使用扫描仪读取文件时遇到问题并跳过行
- 28. 使用扫描仪读取输入时的NoSuchElementException
- 29. 如何让扫描仪读取下一行数字?
- 30. 如何强制扫描仪读取未完成的行
只要得到第一行,然后忽略它。在循环之外这样做,它应该起作用。 – Pokechu22 2014-10-18 23:54:06
既然这是一个CSV文件,为什么不使用OpenCSV呢? – fge 2014-10-19 00:09:05