本文共 1058 字,大约阅读时间需要 3 分钟。
内存流是将流的输入输出位置放到内存上,而不是建立在内存和外部设备之间,此时的操作应该以内存为操作点,和Java程序在一起,可以看做是java和内存中的数据之间的交互。
应用:网络传输,会将文件放到内存,这时需要用内存流读取到java。
//参数是byte类型数组ByteArrayInputStream bais = new ByteArrayInputStream(byte[] buf);//内存输出流ByteArrayOutputStream baos = new ByteArrayOutputStream();
//从该输入流读取下一个数据字节int read();read(byte[] b, int off, int len);//关闭流void close();
//写入void write(int b); void write(byte[] b, int off, int len); //关闭流void close();
/*** 要求:将读取到的大写字母转为小写字母输出*/public static void main(String[] args) throws IOException { String str = "ABCDEF"; //创建流 ByteArrayInputStream bais = new ByteArrayInputStream(str.getBytes()); ByteArrayOutputStream baos = new ByteArrayOutputStream(); //读取,注意read()方法返回值是int类型 int d = -1; while ((d = bais.read()) != -1) { char c = Character.toLowerCase((char) d); //int强转为char baos.write(c); //这里的char又转为int类型,属于默认转型,调用void write(int b) } bais.close(); baos.close(); System.out.println(baos.toString());}//打印结果abcdef
转载地址:http://uxgzi.baihongyu.com/