gpt4 book ai didi

java - 只读取大文件的一行以避免内存问题的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-03 09:01:03 24 4
gpt4 key购买 nike

我不想将文件保存在内存中以及诸如此类的东西。是否可以只读取 CSV 的第一行而不将整个文件加载到内存中?也许使用扫描仪方法?

这只是 header 检查!

最佳答案

BufferedReader 有一个只能读取一行的 API。在引擎盖下,它的缓冲稍微多一些,但一般来说,您不需要担心它。这是我经常使用的习语:

String fileName = "..."; // use an actual file name :)
try (final FileReader fileReader = new FileReader(fileName);
final BufferedReader bufferedReader = new BufferedReader(fileReader)) {
// try-with-resources idiom for auto-closing the readers
String line = null;
while ((line = bufferedReader.readLine()) != null) {
// Here you can deal with the line
// Caveat: the line breaks are stripped.
// So now you don't know if it was \r, '\n or both.
System.out.println("--> read a line: " + line);
}
} catch (IOException e) {
// You might throw it too, or use a logger. Just don't hide it silently
// because that makes debugging difficult.
e.printStackTrace();
}

关于java - 只读取大文件的一行以避免内存问题的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50271315/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com