字节数组流
FileInputStream是把File文件当做数据源,而ByteArrayInputStream则是把内存中的”某个字节数组对象”作为源。
常常用在需要流和数组之间转化的情况。
不需要关闭流的操作。
ByteArrayInputStream
import java.io.ByteArrayInputStream;
import java.io.IOException;public class ByteArrayInputStreamTest {
public static void main(String[] args) {
String str = "Makka Pakka";byte[] src = str.getBytes();ByteArrayInputStream bais = null;try {
bais = new ByteArrayInputStream(src);byte[] flush = new byte[10];int len = 0;while(((len=bais.read(flush))!=-1)){
String string = new String(flush,0,len);System.out.println(string);}} catch (IOException e) {
e.printStackTrace();}}
}
ByteArrayOutputStream
import java.io.ByteArrayOutputStream;
import java.io.IOException;public class ByteArrayOutputStreamTest {
public static void main(String[] args) {
ByteArrayOutputStream baos = null;try {
baos = new ByteArrayOutputStream(); //不需指定目的地String str = "Makka Pakka";byte[] src = str.getBytes();baos.write(src, 0, src.length);baos.flush();byte[] datas = baos.toByteArray(); //取出写的字节数组} catch (IOException e) {
e.printStackTrace();}}
}