2010-10-10 94 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