• java基础45 IO流技术(输入字符流/缓冲输入字符流)


    一、输入字符流

    1.1、输入字符流体系

      ------| Reader:输入字符流的基类(抽象类)
      ----------| FileReader:向指定文件读取数据的输入字符流(把硬盘上的数据读取到程序中)
      ----------| BufferedReader:缓冲输入字符流。   缓冲输入字符流出现的目的:是为了提高效率和拓展功能,其实内部维护了一个8192长度的字符数组

    注意:所有缓冲流都不具备读写文件的能力(比如BufferedReader,他要借助FileReader的读功能来读文件)

    1.2、字节流和字符流的区别

        1、字节流:字节流是读取文件中的二进制数据,读到的数据并不会自动转换成你看得懂的字符,要通过调用getBytes()转换成字符数据,并且用数组接收。比如:byte[] buf=s.getBytes()
        2、字符流:字符流会把读取到的二进制的数据自动进行对应的编码与解码工作。字符流=字节流+编码(解码)

    1.3、FileReader的步骤

        1、找到目标文件
        2、建立数据输入通道
        3、读取数据(把硬盘上的数据读取到程序中)
        4、关闭资源

    1.4、实例

     1 package com.dhb.file;
     2 
     3 import java.io.File;
     4 import java.io.FileReader;
     5 import java.io.IOException;
     6 
     7 /**
     8  * @author DSHORE / 2018-7-6
     9  *
    10  */
    11 public class Demo14{
    12     public static void main(String[] args) throws IOException {
    13         readTest();
    14     }
    15     //输入字符流
    16     public static void readTest() throws IOException{
    17         //找到目标文件
    18         File file=new File("C:\MyEclipse10\MyCode\MyJavaCode\src\com\dhb\file\Demo13.java");
    19         //建立数据输入通道
    20         FileReader fr=new FileReader(file);
    21         //读取数据
    22         int length=0;
    23         while((length=fr.read())!=-1){//读数据
    24             System.out.print((char)length);
    25         }
    26         //关闭资源
    27         fr.close();
    28     }
    29 }

    运行结果图

    二、缓冲输入字符流

    2.1、BufferedReader注意事项

        1.缓冲输入字符流出现的目的:是为了提高效率和拓展功能,其实内部维护了一个字符数组
        2.凡是缓冲流都不具备读写文件的能力

    2.2、实例

     1 package com.dhb.file;
     2 
     3 import java.io.BufferedReader;
     4 import java.io.File;
     5 import java.io.FileReader;
     6 import java.io.IOException;
     7 
     8 /**
     9  * @author DSHORE / 2018-7-11
    10  *
    11  */
    12 public class Demo16 {
    13     public static void main(String[] args) throws IOException {
    14         readTest1();
    15     }
    16 
    17     public static void readTest1() throws IOException{
    18         //找到目标文件
    19         File file=new File("F:\a.txt");
    20         //建立数据输入通道
    21         FileReader fr=new FileReader(file);
    22         BufferedReader br=new BufferedReader(fr);
    23         /*//方式1:读取数据
    24         int length=0;
    25         while((length=br.read())!=-1){//一次读一个字符
    26             System.out.print((char)length);
    27         }
    28         br.close();*/
    29         //方式2:读取数据
    30         String line=null;
    31         while((line=br.readLine())!=null){//一次读一行
    32             System.out.println(line);
    33         }
    34     }
    35 }

    原创作者:DSHORE

    作者主页:http://www.cnblogs.com/dshore123/

    原文出自:https://www.cnblogs.com/dshore123/p/9272904.html

    欢迎转载,转载务必说明出处。(如果本文对您有帮助,可以点击一下右下角的 推荐,或评论,谢谢!

  • 相关阅读:
    php函数去除html标签
    php 逐行读取txt文件
    php获取客户端与服务器端IP
    windows+php环境下安装memcache
    个人构思(android旅游广告发展方向,快乐的工作团队项目)
    一个短信和联系人的小软件
    下载器简单实例
    文件选择器
    ubuntu11.04的java环境配置
    音乐播放器
  • 原文地址:https://www.cnblogs.com/dshore123/p/9272904.html
Copyright © 2020-2023  润新知