zoukankan      html  css  js  c++  java
  • java设计模式之适配器模式以及在java中作用

    适配器作用就是讲一个接口适配到另一个接口,在Java 的I/O类库中有很多这样的需求,如将字符串数据转变成字节数据保存到文件中,将字节数据转变成流数据等。

    以InputStreamReader和OutputStreamWriter类为例。

    InputStreamReader和OutputStreamWriter类分别继承了Reader和writer接口,但是要创建他们的对象必须在构造函数中传入一个InputStream和OutputStream

    的实例,InputStreamReader和OutputStreamWriter类的作用也就是将InputStream和OutputStream适配到Reader和Writer。

    适配器是InputStreamReader,源角色是InputStream代表的实例对象,目标接口就是Reader类。

    InputStream:得到的是字节输入流,InputStream.read("filename")之后,得到字节流

    Reader:读取的是字符流

    InputStreamReader:从字节到字符的桥梁。InputStreamReader(InputStream.read("filename"));

    reader.read(InputStreamReader(InputStream in));便可从字节变为字符,打印显示了。

    java.io.Reader 和 java.io.InputStream 组成了Java 输入类。

    Reader 用于读入16位字符,也就是Unicode 编码的字符;而 InputStream 用于读入 ASCII 字符和二进制数据。

    Reader支持16位的Unicode字符输出,

    InputStream支持8位的字符输出。

    Reader和InputStream分别是I/O库提供的两套平行独立的等级机构,

    InputStreamReader类

    InputStreamReader 将字节流转换为字符流。是字节流通向字符流的桥梁。如果不指定字符集编码,该解码过程将使用平台默认的字符编码,如:GBK。 
    构造方法 : 
        InputStreamReader isr = new InputStreamReader(InputStream in);//构造一个默认编码集的InputStreamReader类 
        InputStreamReader isr = new InputStreamReader(InputStream in,String charsetName);//构造一个指定编码集的InputStreamReader类。 
        
        参数 in对象通过 InputStream in = System.in;获得。//读取键盘上的数据。 
        或者 InputStream in = new FileInputStream(String fileName);//读取文件中的数据。可以看出 FileInputStream 为InputStream的子类。 
    主要方法 :int read();//读取单个字符。 
                     int read(char []cbuf);//将读取到的字符存到数组中。返回读取的字符数。

    参考的原文链接http://www.cnblogs.com/java-my-life/archive/2012/04/13/2442795.html

  • 相关阅读:
    【QTP小技巧】02_QTP中Complete Word 实现(转载)
    【QTP专题】04_对象及操作方法
    【QTP专题】03_Add-in Manager插件
    【QTP专题】02_时间同步点问题
    loadrunner 11问题汇总
    system idle process
    html div四边阴影效果
    通过CSS实现 文字渐变色 的两种方式
    UIgradients – 美丽的UI渐变色分享站 并可转成CSS代码
    display:inline-block带来的问题及解决办法
  • 原文地址:https://www.cnblogs.com/kisty/p/6123423.html
Copyright © 2011-2022 走看看