Java中IO流的使用方法之内存操作流

整理源于Java核心技术精讲

某个操作必须发生IO操作,但是又不希望有一些临时文件产生,肯定无法使用之前的文件操作流。为解决问题,提供了内存操作流,即对内存进行操作的终端,以发生IO操作关系。

  • 字节内存操作流:内存输入流(ByteArrayInputStream) 内存输出流(ByteArrayOutputStream)
  • 字符内存操作流:内存输入流(CharArrayReader) 内存输出流(CharArrayWriter)

注:这里的流的形式和之前的文件操作流有所不同
ByteArrayInputStream:程序->InputStream->输出到内存
ByteArrayOutputStream:程序<-OutputStream<-内存

使用内存操作流完成一个字符串大小写字母的转换操作

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

public class TestDemo {
    public static void main(String[] args) throws IOException{
        String str = "hello world.";
        InputStream input = new ByteArrayInputStream(str.getBytes());//传入内存,注意这里的构造
        OutputStream output = new ByteArrayOutputStream();//准备从内存中读取数据
        int temp = 0;
        while((temp=input.read())!=-1)
        {
            output.write((char)Character.toUpperCase(temp));//从内存输出
        }
        String newStr = output.toString();//取数据
        output.close();
        input.close();
        System.out.println(newStr);
    }
}

延伸:
在javaEE开发技术中,AJAX技术通过服务器生成XML数据后交给前台显示的操作是最为常见的一种。会使用到XML解析工具(DOM,JDOM,DOM4J等),并且需要IO流的支持,此时最好的选择就是内存操作流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值