美文网首页
java35(IO输入与输出--03转换流)

java35(IO输入与输出--03转换流)

作者: 机智的老刘明同志 | 来源:发表于2019-02-14 07:21 被阅读27次

读取键盘录入:

        在说转换流之前,我们首先调用InputStream类,来读取键盘录入并将其转化为大写字体

读取转换流 InputStreamReader:

        通过查看上面的键盘录入一行数据并打印其大写的实例代码,我们可以发现其原理就是读取一行数据(也就是readLine方法)

        那么我们能不能直接使用readLine方法来完成键盘录入的一行数据的读取呢?

        readLine方法是字符流BufferedReader类中的方法

        而键盘录入的read方法是字节流InputStream的方法

        这时候,我们可以使用转换流InputStreamReader将字节流转换成字符流。

写入转换流 OutputStreamWriter:

        经过上面的例子,我们可以实现一些其他的流操作。例如:键盘输入内容写入到文件中,读取文件中内容显示在控制台 

总结流操作规律:

        1 明确源和目的

            源:    输入流。InputStream      Reader

            目的:输出流。OutputStream    Writer

        2  操作的数据是否是纯文本

            是:字节流  

            不是:字符流

        3 体系明确后,再明确具体的对象 (通过设备进行区分)

            源设备:内存,硬盘,键盘

            目的设备:内存,硬盘,控制台

例1: 将一个文本文件中的数据存储在另一个文件中。复制文件

            源头:                             使用读取流 InputStream  Reader

            是否操作文本文件:       是!选择Reader

            设备:                             硬盘  Reader体系中操作文件的对象是FileReader

            是否需要提高效率:       是!加入Reader体系的缓冲区BufferedReader

            FileReader fr = new FileReader("a.txt");

            BufferedReader bufr = new BufferedReader(fr);

            目的:                            OutputStream Writer

            是否纯文本:                 是! Writer

            设备:                            硬盘(一个文件) FileWriter

            是否需要提高效率:      是!加入Writer体系的缓冲区BufferedWriter        

            FileWriter fw = new FileWriter("b.txt");

            BufferedWriter bufw = new BufferedWriter(fw );

例2:将键盘录入的数据保存在一个文件中

            源头:                             使用读取流 InputStream  Reader

            是否操作文本文件:       是!选择Reader

            设备:                             键盘。对象应该是System.in(但是System.in对应字节流为了操作键盘的文件数据方便。转换成字符流按照字符串操作才是最方便的)

            是否需要提高效率:       是!加入Reader体系的缓冲区BufferedReader

            InputStreamReader isr = new InputStreamReader (System.in);

            BufferedReader bufr = new BufferedReader(isr);

            目的:                            OutputStream Writer

            是否纯文本:                 是! Writer

            设备:                            硬盘(一个文件) FileWriter

            是否需要提高效率:      是!加入Writer体系的缓冲区BufferedWriter        

            FileWriter fw = new FileWriter("b.txt");

            BufferedWriter bufw = new BufferedWriter(fw );

指定编码表存储在文件中:

        OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("d.txt"),'utf-8');

改变标准输入输出设备:

        System.setIn(new FileInputStream("Person.java"));

        System.setout(new PrintStream("zzz.txt"));

异常日志记录:

相关文章

  • java35(IO输入与输出--03转换流)

    读取键盘录入: 在说转换流之前,我们首先调用InputStream类,来读取键盘录入并将其转化为大写字体 ...

  • Java 进阶:Java File & IO—2

    目录 一、转换流二、字节缓冲流三、字符缓冲流四、序列化流与反序列化流五、打印流六、标准输入、输出流七、IO流总结 ...

  • Java IO流详解(一)——预备知识

    Java IO流详解(一)——预备知识 一、字符与字节 在Java中有输入、输出两种IO流,每种输入、输出流又分为...

  • python基础教程:输入和输出(IO)

    计算机编程中,会经常涉及输入输出(IO,输入/输出)。提供IO功能的设备就是输入输出设备,比如,键盘,鼠标就是典型...

  • 2019-08-26 IO字符流

    一.IO流概述 IO(input/output):输入和输出指的是某个设备或环境进行数据的输入或者输出,例如键盘的...

  • Java的IO和NIO

    一、IO java的IO功能都在java.io包下,包括输入输出两种IO流,每种输入输出流又可分为字节流和字符流两...

  • IO输入输出

    介绍 IO 实际就是输入流IN 输出 OUT输出流分stderr(标准错误输出) 和stdout(标准输出),c语...

  • IO输入输出

    介绍 IO 实际就是输入流IN 输出 OUT输出流分stderr(标准错误输出) 和stdout(标准输出),c语...

  • IO输入输出

    介绍 IO 实际就是输入流IN 输出 OUT输出流分stderr(标准错误输出) 和stdout(标准输出),c语...

  • Java IO(输入/输出)

    Java中输入/输出的类存放在java.io包中 输入流类都是抽象类InputStream(字节输入流)或抽象类R...

网友评论

      本文标题:java35(IO输入与输出--03转换流)

      本文链接:https://www.haomeiwen.com/subject/bohseqtx.html