2011-01-28 67 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優勢。 :我們不必發明類名;-))

相關問題