字节数组输入流
/**
* @author 黑羽-孤高之银风
* 字节数组输入流
* 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 黑羽-孤高之银风
* 字节数组输出流
* 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
}
}