有時候我們需要將讀取文件的內容到一個byte[] 數組中然後對這個數組進行一些修改這時我們可以借助於ByteArrayOutputStream 這個類來實現
ByteArrayOutputStream顧名思義同樣是一個OutputStream那麼對於它的寫入操作和其他的 OutputStream應該是沒有什麼兩樣寫入代碼可以說是隨手拈來的與其他輸出流的不同之處在於ByteArrayOutputStream寫入到內存中並提供一個 toByteArray() 方法返回我們所需要的byte[]
下面用一小段代碼具體演示一下如何操作希望菜鳥同志們都能明白吧
示例中用了BufferedInputStream每次讀取k數據
package orgapachedemo;
import javaioBufferedInputStream;
import javaioByteArrayOutputStream;
import javaioFileInputStream;
import javaioIOException;
public class StreamByte {
public static void main(String[] args) throws IOException {
BufferedInputStream in = new BufferedInputStream(new FileInputStream(/media/music/helloogg));
ByteArrayOutputStream out = new ByteArrayOutputStream();
Systemoutprintln(Available bytes: + inavailable());
byte[] temp = new byte[];
int size = ;
while ((size = inread(temp)) != ) {
outwrite(temp size);
}
inclose();
byte[] content = outtoByteArray();
Systemoutprintln(Readed bytes count: + contentlength);
}
}
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26724.html