2011-01-28 71 views

回答

1

这是很容易写:

public class ThinkOfADecentName extends ByteArrayOutputStream 
{ 
    public ByteArrayInputStream createInputStream() 
    { 
     // Uses protected fields 
     return new ByteArrayInputStream(buf, 0, count); 
    } 
} 

注意,任何进一步的写入ByteArrayOutputStream可能会或可能不会反映在输入流中,根据是否发生的重新分配和写入的位置。基本上我只会在写完后才打电话给我:)

+0

MyByteArrayInputStreamCreatingByteArrayOutputStream呢? :) – sfussenegger 2011-01-28 10:37:25

+0

嗯,但把警卫写入sux :) – 2011-01-28 11:17:14

0

确实有需要吗?对于一些字节的输入流是一个内衬:

InputStream in = new ByteArrayInputStream(
        new ByteArrayOutputStream(bytes).toByteArray())); 

(有乔恩的解决方案,您不要在内部创建一个新的字节数组,所以这一块衬垫可能会有点慢,并使用一些额外的memeory优势。 :我们不必发明类名;-))

相关问题