字节数组不同于字节文件,字节文件是保存在硬盘上的,操作系统对其进行统一管理,使用完需要关闭。而字节数组不需要通知操作系统,然后对该资源进行管理
1、字节数组输入流-----ByteArrayInputStream流
package cn.sxt.io;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
/**
* 测试字节数组输入流:字节数组输入流ByteArrayInputStream,不同于字节输入流FileInputStream:
* InputStream is = new ByteArrayInputStream(byte[] b)
* 1、源文件是一个字节数组,而不是一个file文件
* 2、字节数组不应该过大
* 3、不需要释放资源,因为该字节输入流不是位于硬盘之上的内存
* @author Administrator
*
*/
public class ByteInputStream01 {
public static void main(String[] args){
//1.创建源:将字符串==》字节数组,该字节数组作为源文件
byte[] src = "I am a student".getBytes();
//2.选择流:使用ByteInputArray
InputStream is = null;
is = new ByteArrayInputStream(src);
//定义字节数组,存放每次读取到的缓冲内容
byte[] flush = new byte[4];
//len存放实际的读取长度
int len = -1;
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();
}
}
}