簡體   English   中英

從Java文件中讀取大量BitSet對象

[英]Reading a large number of BitSet Objects from a file in Java

我想從文件(12MB)中讀取大量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());
    }

然后下面的代碼創建一個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());
    }
}
}

我認為您需要一個Scanner 才能看到此代碼具有大索引的Java Bitset錯誤 這是一個不同的問題,但是第一個循環是將帶有數字的大文件讀入一個位集中,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM