欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

字节数组流

程序员文章站 2022-04-24 11:33:36
...

字节数组输入流

/**
* @author 黑羽-孤高之银风
* @version 创建时间:2019年6月12日 下午12:46:16
* 字节数组输入流
* 1.创建源 :字节数组不要太大
* 2.选择流
* 3.操作
* 4.释放资源 
*/

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

public class IOTest07 {
	public static void main(String[] args) {
		// 1 创建源
		byte[] src = "askfhkajhfajf".getBytes();
		// 2 选择io
		InputStream is = null;
		// 3 操作
		
			is = new ByteArrayInputStream(src);
			int len = -1;//接收长度
			byte[] flush = new byte[5];//缓冲容器
			try {
				while((len=is.read(flush))!=-1) {
					String str = new String(flush, 0, len);
							System.out.println(str);
				}
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			
		
		// 4关闭
	}

}

字节数组输出流

import java.io.ByteArrayOutputStream;

/**
* @author 黑羽-孤高之银风
* @version 创建时间:2019年6月12日 下午1:02:33
* 字节数组输出流
* ByteArrayOutputStream
* 1.创建源 内部维护
* 2.选择流:不关联源
* 3.操作(写出内容)
* 4.释放资源:可以不用
* 
* 获取资源  toByteArray()
*/
public class IOTest08 {
	public static void main(String[] args) {
		//1.创建源
		byte[] dest = "attack".getBytes();
		//2.选择io流
		ByteArrayOutputStream baos = null;//为使用新增方法没有多态
		
		try {
			baos = new ByteArrayOutputStream();
			//3.操作
			String msg = "哈哈哈哈哈";
			byte[] datas = msg.getBytes();
			baos.write(datas,0,datas.length);
			baos.flush();
			//获取数据
			dest = baos.toByteArray();//使用新增方法
			System.out.println(dest.length + "-->" +new String(dest,0,baos.size()));
		} catch (Exception e) {
			// TODO: handle exception
		}
		
		//4.close
		
	}
}