Java ByteArrayOutputStream类
定义
public ByteArrayOutputStream() public ByteArrayOutputStream(int size)
参数
size:初始大小。
返回
创建一个新的字节数组输出流。默认的大小为32,如果要修改容量大小,传入size就好了。
方法
public void write(int b) public void write(byte[] b,int off,int len) public void writeTo(OutputStream out)
将指定的字节写入此字节数组输出流,此方法继承于OutputStream,可以参考OutputStream.write
//使用默认的字符集将缓冲区的内容转换为字符串。 public String toString() //指定字符集将缓冲区的内容转换为字符串。 public String toString(String charsetName) public String toString(int hibyte)
详细参考OutputStream.toString 指定字符集转换成字符串
OutputStream.toByteArray 转换成byte[]字节数组
//将此字节数组输出流的计数字段重置为零,以便丢弃该输出流中所有当前累积的输出。 public void reset() //返回缓冲区的当前大小。 public int size() //关闭输出流 public void close()
实例
public static void main(String[] args) { ByteArrayOutputStream bos = null; FileInputStream fs = null; try { bos = new ByteArrayOutputStream(); fs = new FileInputStream("c:\\51gjie.txt"); int len; while((len = fs.read()) != -1) { // 把读取到的数据逐个写到ByteArrayOutputStream中 bos.write(len); } byte[] array = bos.toByteArray(); // 指定utf-8解码的字符集 System.out.println(new String(array, "utf-8")); fs.close(); } catch(IOException e) {} finally { fs.close(); } }
ByteArrayOutputStream在内存中创建了一个字节数组,所有发送到输出流的数据都会保存到该字节数组的缓冲区中。数据写入缓冲区以后,然后使用toByteArray()和toString()输出。
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。