2016-04-24 143 views
0

我創建了一個名爲bBitSet,並使用java中的此代碼段將它保存到文件中。如何從在java中保存爲bytearrayoutputstream的文件返回位集?

byte[] bs = b.toByteArray(); 
    ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
    baos.write(bs); 
    FileOutputStream fr_out = new FileOutputStream("output.txt"); 
    baos.writeTo(fr_out); 

現在,任何人都可以幫助我弄清楚如何閱讀本"output.txt"文件,並找回BitSet「B」?

感謝

編輯對於這個問題被標記爲重複: 上面給出的鏈接可能有一個解決方案,討論老百姓對他們的意見的一部分,但不是實際的答案文本字段。更何況,上述問題並沒有提到我們如何獲得BitSet的問題,它只討論如何獲得byte。事實上,這是我一天前面臨的另一個問題,但這個問題與我上面解釋的完全不同。因此,我想請社區和人員重新考慮他們將這個問題標記爲與我自己的另一個問題重複的行爲。

TLDR:這個問題問什麼是2 + 2 =?,另一個問題是什麼是2 * 2 =?,但在回答2 * 2時,某人也碰巧回答2 + 2 =? (我花了幾個小時才找到解決方案,而我是從另一個鏈接做起的,而不是上面發佈的那個),僅僅因爲答案類似並不意味着問題是最重要的,我不希望任何程序員繼續搜索幾個小時的事情,他們可以看看這個問題,並找出如何做的事情,而不是通過整個網絡。

謝謝。

+0

此問題**是**您昨天詢問的問題的副本。如果你認爲**這個問題不應該被認爲是重複的,你應該**不**已經問過這個新問題,但是編輯過你的問題。 – Bakuriu

+0

這兩個問題都是真的不同,所以如何在完全正確的情況下編輯其他問題?剛剛發生的另一個問題就是堆棧溢出問題,但這個問題從來沒有提到過,我是一個活生生的例子,因爲我花了2個小時才找到解決這個問題的方法。讓我再提醒你一次,這個問題詢問關於讓BitSet回來,而不是Byte本身(這是我在我之前的問題中已經問過的問題,這個問題已經在SO上得到了答覆,我同意這個問題是重複的),因此,這絕不是是重複的。 – theprogrammer094

+0

因此,即使提供了一個清晰的解釋後,社區仍然認爲這是重複的? – theprogrammer094

回答

0

由於目前還沒有答案,我想發佈其中的一種方法,我將其整理出來,但如果有經驗的人可以提供更好的解決方案,那將會非常好。這是我從文件中找回BitSet(我使用toByteArray()方法和ByteArrayOutputStream寫了BitSet)。

Path path = Paths.get("output.txt"); 
    byte[] ans = Files.readAllBytes(path); 
    BitSet bits = BitSet.valueOf(ans); 

現在比特具有原始的BitSet。

相關問題