Java 无法加载大型csv文本文件
我正在尝试加载一个包含所有比特币交易数据的大型csv文件。首先,我尝试计算数据的大小。它通过使用一个循环来实现这一点,该循环将“1”增加到大小,并在readline返回null时停止。 csv文件包含764732行数据。我的程序只读取前100000个。最后一行与“我的文本编辑器”(Komodo)中的行相匹配,后者显示另外664732行数据。 我的代码是否有问题,或者是java无法处理一个非常大的文本文件?? 代码 //最后一行是空的 大小--Java 无法加载大型csv文本文件,java,Java,我正在尝试加载一个包含所有比特币交易数据的大型csv文件。首先,我尝试计算数据的大小。它通过使用一个循环来实现这一点,该循环将“1”增加到大小,并在readline返回null时停止。 csv文件包含764732行数据。我的程序只读取前100000个。最后一行与“我的文本编辑器”(Komodo)中的行相匹配,后者显示另外664732行数据。 我的代码是否有问题,或者是java无法处理一个非常大的文本文件?? 代码 //最后一行是空的 大小-- 如果我将大小设为长,则将大小设为int有效。看起来
- 如果我将大小设为长,则将大小设为int有效。看起来它读取了所有的数据*
BufferedReader br = new BufferedReader(new FileReader(fileName));
int size = 0;
String line;
while ((line = br.readLine()) != null) {
size++;
}
br.close();
System.out.printf("%,d lines%n", size);
最大整数值(integer.Max_值)为2147483647,因此如果您计划读取超过20亿行(即行不是字节)的文件,请将int切换为long类型。Java可以读取非常大的文件,特别是BufferedReader.readLine()可以读取非常大的文件,只要行尾标记之间的最大顺序字符可以放入内存。如果您想用Java计算文件中的行数,下面是一个示例
Java不支持特定的最大文件大小。所以我的代码肯定有问题。
BufferedReader br = new BufferedReader(new FileReader(fileName));
int size = 0;
String line;
while ((line = br.readLine()) != null) {
size++;
}
br.close();
System.out.printf("%,d lines%n", size);