zoukankan      html  css  js  c++  java
  • Java IO编程——转换流

    所谓的转换流指的是可以实现字节流与字符流操作的功能转换,例如:进行输出的时候OutputStream需要将内容变为字节数组后才可以进行输出,而Writer可以直接输出字符串,这一点是方便的,所以很多人就认为需要提供有一种转换的机制,来实现不同流类型的转化操作,为此在java.io包里面提供有两个类:InputStreamReaderOutputStreamWriter

    InputStreamReader

    OutputStreamWriter

    定义

    public class OutputStreamWriter extends Writer

    public class InputStreamReader extends Reader

    构造方法

    public OutputStreamWriter​(OutputStream out)

    public InputStreamReader​(InputStream in)

    通过类的继承结构与构造方法可以发现,所谓的转换处理就是将接收到的字节流对象通过向上转型变为字符流对象。

    范例:观察转换

     1 import java.io.File;
     2 import java.io.FileOutputStream;
     3 import java.io.OutputStream;
     4 import java.io.OutputStreamWriter;
     5 import java.io.Writer;
     6 public class JavaAPIDemo {
     7     public static void main(String[] args) throws Exception {
     8         File file = new File("D:" + File.separator + "hello" + File.separator + "mldn.txt");
     9         if (!file.getParentFile().exists()) {
    10             file.getParentFile().mkdirs(); // 父目录必须存在
    11         }
    12         OutputStream output = new FileOutputStream(file) ;
    13         Writer out = new OutputStreamWriter(output) ; // 字节流变为字符流
    14         out.write("www.mldn.cn"); // 直接输出字符串,字符流适合于处理中文
    15         out.close();
    16     }
    17 }
    JavaAPIDemo

     讲解转换流的主要目的基本上不是为了让开发者去记住它,而是知道有这样一种功能,但同时更多的是需要进行结构的分析处理。通过之前的字节流与字符流的一系列的分析之后你会发现OutputStream类有FileOutputStream直接子类、InputStream类有FileInputStream直接子类,但是来观察一下FileWriterFileReader类的继承关系。

     

    FileWriter

    FileReader

    public class FileWriter  extends OutputStreamWriter

    public class FileReader extends InputStreamReader

     

    实际上所谓的缓存都是指的是程序中间的一道处理缓冲区。

     

  • 相关阅读:
    HDU 2116 Has the sum exceeded
    HDU 1233 还是畅通工程
    HDU 1234 开门人和关门人
    HDU 1283 最简单的计算机
    HDU 2552 三足鼎立
    HDU 1202 The calculation of GPA
    HDU 1248 寒冰王座
    HDU 1863 畅通工程
    HDU 1879 继续畅通工程
    颜色对话框CColorDialog,字体对话框CFontDialog使用实例
  • 原文地址:https://www.cnblogs.com/CSAH/p/11777705.html
Copyright © 2011-2022 走看看