Java转换流&&字节流和处理流的典型配合

转换流:
什么是转换流?
        转换流,可以实现字节数据到字符数据的转换。常用的有:inputstreamReader和OutStreamWriter

怎么使用转换流?
        和之前的处理流一样,都是套装在现有字节流之上。实现相应的功能!

字节流和处理流如何配合?
基本的思想就是,原来的流不能够很好的处理数据,按照需求,套接相应的处理流,完成需求;
就有可能出现不断地套接套接再套接。

····下图详解inputstreamReader和OutStreamWriter,后面有实现。


试验一 :转换流----输入:将字节流输入,变为字符型输入

import java.io.*;
public class TestTransport {
      public static void main(String[] args) throws Exception {
    //  1:        
      OutputStreamWriter r = new OutputStreamWriter   ((new FileOutputStream("D:/0000/iloveyou.txt")));
      r.write("晚上好");
//    该类型流,也需要flush
      r.flush();
      r.close();
//    2:    
      r = new OutputStreamWriter(
                        new FileOutputStream("D:/0000/iloveyou.txt", true),
                        "ISO8859_1");
      r.write("mircosoftibmsunapplehp");
      r.flush();
      
      
      }
}



1:用转换流。将字符串输出到文件中去。(因为之前的outputstream不支持字符串输出)
2:同上,只不过在文件原来的内容上,加入要输出的内容,而不是清空原来的内容再输入。
写法:
    其实很简单,就是在原来的字节流基础上,套接转换流,对转换流进行相应的操作。


实验二 :一个很典型的处理流和字节流的配合、
基本的思想就是,原来的流不能够很好的处理数据,按照需求,套接相应的处理流,完成需求;
就有可能出现不断地套接套接再套接。
import java.io.*;
public class TestTaojie {
      public static void main(String[] agrs) throws Exception{
//          System.in的套接InputStreamReader,完成字节向字符的转换。
//          再有BufferedReader的套接,完成读一行的工作
            InputStreamReader r = new InputStreamReader(System.in);
            BufferedReader rr= new BufferedReader(r);
            
            String s = null;
            s = rr.readLine();
              System.out.println(s.toUpperCase());
      }
      
}

图解:


该程序实现的是,从命令行读入数据(System.in),但是该数据是字节流型的,而命令行输入的是字符型的,所以需要转换。经过InputStreamReader的处理,再接着,想实现按行读入数据,现有的InputStreamReader显然已经不能满足要求,所以,再次套接BufferedReader实现按行输入数据的操作。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值