2012-04-16 2 views
1

Я хочу прочитать большое количество объектов BitSet из файла (12 МБ). Я использовал следующий код, но только прочитал первый объект из файла и повторил его. благодаряЧтение большого количества объектов BitSet из файла в Java

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()); 
    } 

и следующий код создает файл объектов BITSET, я хочу прочитать объекты из этого файла

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

Если вы напишете «Список », вы можете написать/прочитать их как один объект. (Все еще не знаю, каков ваш вопрос) –

ответ

0

Я думаю, что вам нужен сканер увидеть этот код Java Bitset error with large index. Это другой вопрос, но первый цикл состоит в том, чтобы прочитать большой файл с числами в биты,