在Java中编写/读取大型数字表的最快方法是什么?

时间:2010-12-16 02:37:09

标签: java

我有两个连接的数字数组向量。写/读它们的最快方法是什么? 我应该使用默认(de)序列化还是其他一些技术? XML当然太无效了。

1 个答案:

答案 0 :(得分:1)

将它们写为二进制文件,其中前4个字节是计数的数量,之后每4个字节是一个数字。

更新:代码示例

import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Vector;

/**
 * Write the numbers in binary.
 */
public class WriteBinary {
  public static void main(String[] argv) throws IOException {
    Vector<int> numbers = getVectorOfNumbers();
    int size = numbers.size();

    String FILENAME = "binary.dat";
    DataOutputStream os = new DataOutputStream(new FileOutputStream(
        FILENAME));
    os.writeInt(size);
    for(int n : numbers) {
      os.writeInt(n);
    }
    os.close();
    System.out.println("Wrote " + size + " numbers to file " + FILENAME);
  }
}