在Java中存储大型静态数组的正确方法是什么?
我有三个浮点数组,每个浮点数由我需要从程序中访问的大约30000个元素组成。数组的内容不会改变。
编辑:我目前无法从任何Java程序访问数组而不将它们分成相对较小的(子1k元素)数组,将它们放在单独的方法(每个限制为64KB的字节码)中,然后将它们合并在一起该程序。这对我来说似乎是一个糟糕的解决方案。
答案 0 :(得分:0)
制作一个单独的程序,接受stdin上的矩阵并将它们存储在文件中。每个文件中的第一行是一个整数,表示矩阵中的元素数,后面的行是实际的矩阵元素。不是一个漂亮的解决方案,但它完成了工作。
public static void main(String[] args) throws IOException, ClassNotFoundException {
Scanner in = new Scanner(System.in);
float[] floatArray;
int count = in.nextInt();
float temp;
int i = 0;
floatArray = new float[count];
while (in.hasNextFloat()) {
temp = in.nextFloat();
floatArray[i] = temp;
i++;
}
ObjectOutputStream outputStream = new ObjectOutputStream(new FileOutputStream("glockVert.arr"));
outputStream.writeObject(floatArray);
}