我的文件很大,预计约为12 GB。我想将它们全部加载到功能强大的具有16 GB RAM的64位计算机上的内存中,但是我认为Java不支持那么大的字节数组:
File f = new File(file); long size = f.length(); byte data[] = new byte[size]; // <- does not compile, not even on 64bit JVM
Java有可能吗?
Eclipse编译器的编译错误是:
Type mismatch: cannot convert from long to int
javac给出:
possible loss of precision found : long required: int byte data[] = new byte[size];
Java数组索引的类型int(4个字节或32位),因此恐怕您的数组只能使用2 31 − 1或2147483647个插槽。我将数据读入另一个数据结构,例如2D数组。
int