2010-10-10 99 views
2

我有以下代碼:如何讀取Java中的OutputStreamBitWriter對象?

OutputStreamBitWriter writer = new OutputStreamBitWriter(System.out); 
writer.writeBit(1); 

如果我想打印的值或將其存儲在一個字符串,我該怎麼辦呢?

+0

我們該如何知道OutputStreamBitWriter是什麼? – 2010-10-10 14:48:23

+0

好吧,如果'TransMogriFooObscurator'的類名,但'OutputStreamBitWriter'給了我一個關於類是什麼的相當好的想法(即使列表會更好),這將是困難的 – 2010-10-10 20:48:15

回答

2

你需要做這樣的事情:

ByteArrayOutputStream out = new ByteArrayOutputStream(); 
OutputStreamBitWriter writer = new OutputStreamBitWriter(out); 
writer.writeBit(1); 
byte[] bytes = out.getBytes(); 
// Format and output the bytes. 

現在,因爲我懷疑這是家庭作業,我不會填鴨式你的完整解決方案。但是這裏有一個提示:如果你嘗試將字節轉換爲字符串,那麼它很可能會包含非打印字符。

+0

是的。我試圖實現霍夫曼代碼作爲我的功課的一部分。我一直在試圖打印這些位來測試我的代碼。感謝您的指示。我不需要整個解決方案,只是想要一些線索。 – Nithin 2010-10-10 16:48:17

-1
ByteArrayOutputStream out = new ByteArrayOutputStream(); 
OutputStreamBitWriter writer = new OutputStreamBitWriter(out); 
writer.writeBit(1); 
//bla-bla 
writer.flush(); 
System.out.println(new String(out.toByteArray())); 
+1

-1,這個答案對OutputStreamBitWriter的內容(不管那是什麼)都是不合理的,即表示平臺默認字符集中有效字符串的編碼。 – 2010-10-10 15:01:16

+1

呵呵,downvote是相當苛刻的。我沒有找到比問題更糟糕的答案,嘿。 – 2010-10-10 15:03:27

+0

@TOny:對這個問題抱歉。我無法更好地表達它。謝謝。 – Nithin 2010-10-10 16:46:37