已关闭。此问题为opinion-based。当前不接受答案。
**想要改进此问题吗?**请更新此问题,以便editing this post可以用事实和引文来回答。
昨天关门了。
Improve this question
我想出了一个csv阅读器,它只会遍历csv文件的前6列。我知道opencsv是一个更好的选择,但在我的情况下,这并不重要,所以我只用了核心java。一切都很好,但我知道可能有更有效的方法来打印csv文件的前6列,比我想出的东西用更少的代码。所以我“我在问外面的javaMaven,我怎样才能改进这段代码?
private static void csvReader(String loc) throws IOException {
File file = new File(loc);
List<String> lines = Files.readAllLines(file.toPath(), StandardCharsets.UTF_8);
String DELIMITER = ";";
for(String line : lines) {
String[] array = line.split(DELIMITER);
System.out.println(array[0] + " " + array[1] + " " + array[2] + " " + array[3] + " " + array[4] + " " + array[5]);
}
}
一切都很有帮助,提前感谢!
1条答案
按热度按时间xkrw2x1b1#
如果您已经在使用较新的
java.nio.Files
,则不必使用较旧的java.io.File
包将文件转换为path。请改用Path.of()
方法。示例:使用try-with-resources来确保资源在阅读完成后或尝试时抛出异常时关闭。如果任务只是将内容打印到控制台,则将文件内容读入流并链接forEach调用,而不是先将其读入列表。可以使用
stream.limit
来限制要输出的列。