2010-12-16 18 views
1

私は数の配列の2つの連結ベクトルを持っています。それらを書いたり読んだりする最も速い方法は何ですか? デフォルト(デ)シリアライズまたはその他の手法を使用する必要がありますか?もちろん、XMLはあまりにも不十分です。Javaで大きな数値の表を読み書きする最も速い方法は何ですか?

+2

unefficient?それは恐れられない! :-) – paxdiablo

+0

ありがとう、Ralph Wiggum。 http://www.makefive.com/categories/entertainment/television/most-brilliant-simpsons-quotes/me-fail-english-that_s-unpossible--ralph-wiggum – duffymo

+0

XMLは非効率的ですか?なぜなら、今日は、パンチカードから数字を読み取らなければならなかった。そして、私たちはそれを好きだった。 –

答えて

1

バイナリファイルとして書き込みます。最初の4バイトはいくつの数のカウントで、その後の4バイトは数字です。

UPDATE:コードサンプル

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); 
    } 
} 
+0

私はあなたが必要と思う –

+0

あなたはベクトルを持つことはできません、あなたはリストを持つことができます

+2

これは、BufferedOutputStreamを使用すると*もっと*速くなります。 –

関連する問題