2012-04-16 13 views
1

ファイル(12MB)から多くのBitSetオブジェクトを読み取る必要があります。私は次のコードを使用したが、最初のオブジェクトをファイルから読み込み、それを繰り返した。おかげJavaのファイルから多数のBitSetオブジェクトを読み取る

public static void main(String[] args) { 
    // TODO code application logic here 

    ObjectInputStream Input = null; 
    FileInputStream Database = null; 
    Object Buffer = null; 
    BitSet H = null; 


    try 
    { 
     Database = new FileInputStream("BloomFilters.txt"); 
     Input = new ObjectInputStream(Database); 

     while((Buffer = Input.readObject()) != null) 
     { 
      H = (BitSet)Buffer; 
      System.out.println(H); 
      System.out.println("Yes"); 
     } 
    } 
    catch(Exception e) 
    { 
     System.out.println("Exp = " + e.getMessage()); 
    } 

、次のコードは、私がこのファイル

public class Main { 

public static void main(String[] args) { 
    BloomFilter Set = new BloomFilter(512, 100); 
    ObjectOutputStream Output = null; 
    DataInputStream Input = null; 
    FileOutputStream DBOut = null; 
    FileInputStream DBIn = null; 
    String Sequence = ""; 


    try 
    { 
     DBOut = new FileOutputStream("Bloomfilters.txt"); 
     Output = new ObjectOutputStream(DBOut); 
     DBIn = new FileInputStream("DB.txt"); 
     Input = new DataInputStream(DBIn); 

     while((Sequence = (String) Input.readLine()) != null) 
     { 
      Set.clear(); 
      for(int i = 0; i < Sequence.length() - 1; i++) 
       Set.add((Sequence.substring(i, i + 2))); 
      BitSet buffer = Set.getBitSet(); 

      Output.writeObject(buffer); 
     } 

     Input.close(); 
     Output.close(); 
    } 
    catch(Exception e) 
    { 
     System.out.println(e.getMessage()); 
    } 
} 
} 
+0

テキストファイルをオブジェクトストリームとして読み込むことはできません。あなたの質問は何ですか? –

+2

私はあなたの目標から数マイル離れていると思います。あなたが実際に何をしているのか分からずにコピー貼り付けされたコードの周りをちょうどシャッフルしているように見えます。 –

+0

'List 'を書くと、それらを単一のオブジェクトとして書込み/読込ができます。 (あなたの質問が何であるかまだ分かりません) –

答えて

0

私はあなたがこのコードJava Bitset error with large indexを参照スキャナが必要だと思うからオブジェクトを読み取るしたい、のBitSetオブジェクトのファイルを作成します。これは別の質問ですが、最初のループは数値を含む大きなファイルをビットセットに読み込むことです

関連する問題