有时候我们需要将读取文件的内容到一个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);
}
}