全屏

10.2.5 字节数组流


【专业IT培训机构,真正零首付入学www.bjsxt.com


      ByteArrayInputStream和ByteArrayOutputStream经常用在需要流和数组之间转化的情况!

      说白了,FileInputStream是把文件当做数据源。ByteArrayInputStream则是把内存中的”某个字节数组对象”当做数据源。

【示例10-9】简单测试ByteArrayInputStream 的使用

import java.io.ByteArrayInputStream;
import java.io.IOException;

public class TestByteArray {
	public static void main(String[] args) {
		//将字符串转变成字节数组
		byte[] b = "abcdefg".getBytes();
		test(b);
	}
	public static void test(byte[] b) {
		ByteArrayInputStream bais = null;
		StringBuilder sb = new StringBuilder();
		int temp = 0;
		//用于保存读取的字节数
		int num = 0; 
		try {
			//该构造方法的参数是一个字节数组,这个字节数组就是数据源
			bais = new ByteArrayInputStream(b);
			while ((temp = bais.read()) != -1) {
				sb.append((char) temp);
				num++;
			}
			System.out.println(sb);
			System.out.println("读取的字节数:" + num);
		} finally {
			try {
				if (bais != null) {
					bais.close();
				}
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
}

      执行结果如图10-14所示:

图10-14 示例10-9运行效果图.png

图10-14 示例10-9运行效果图

分类导航
点击按住视频可拖动

缩小

关闭

  • 正在学习
  • 北京总部地址:北京市海淀区西三旗街道建材城西路中腾建华商务大厦东侧二层尚学堂
  • 咨询电话:400-009-1906 010-56233821
  • Copyright 2007-2015 北京尚学堂科技有限公司
  • 京ICP备13018289号-1 京公网安备11010802015183