首页 > 编程语言 > 详细

Java IO(十七)FIleReader 和 FileWriter

时间:2020-05-26 14:11:22      阅读:33      评论:0      收藏:0      [点我收藏+]

Java IO(十七)FIleReader 和 FileWriter

一、介绍

FIleReader 和 FileWriter 是读写字符文件的便利类,分别继承于 InputStreamReader 和 OutputStreamWriter,同 FileInputStream 和 FileOutputStream 类似。

  • FIleReader:读取字符文件的便利类,继承于InputStreamReader,是用于读取字符流的类。
  • FileWriter:写入字符文件的便利类,继承于OutputStreamReader,是用于写入字符流的类。

注意:

  • FIleReader 和 FileWriter 是读写字符流的类,如果读取字节流,考虑使用 FileInputStream 和 FileOutputStream。
  • FIleReader 和 FileWriter 不能指定编码集(格式),如果需要指定编码集(格式),考虑使用它们的父类 InputStreamReader 和 OutputStreamWriter。

二、构造方法

(一)、FIleReader 

技术分享图片

(二)、FileWriter

技术分享图片

三、常用API

FileReader 和 FileWriter 直接基于 InputStreamReader 和 OutputStreamWriter 实现的,具体 API 可以参考 Java IO(十六)InputStreamReader 和 InputStreamWriter 

四、实例

public class FileDemo {
    private static char[] chs = new char[] 
            {‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘,‘g‘,‘h‘,‘i‘,‘j‘,‘k‘,‘l‘,‘m‘,
            ‘n‘,‘o‘,‘p‘,‘q‘,‘r‘,‘s‘,‘t‘,‘u‘,‘v‘,‘w‘,‘x‘,‘y‘,‘z‘};
    public static void main(String[] args) {
        write();
        read();
    }
    
    /**
     * FileWriter 测试
     */
    public static void write() {
        FileWriter out = null;
        try {
            // 给定文件名,并指定追加模式:true,续写到文件中
            out = new FileWriter("file.txt",true);
            out.write("字节流转换为字符的案例");// 写入中文字符
            out.write("0123456789");// 写入数字并换行
            out.write(chs);// 写入字符数组
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
                if (out != null)
                    out.close();
            }catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    
    /**
     *  FileReader 测试
     */
    public  static void read() {
        FileReader in = null;
        char[] buff = new char[10];
        int len = 0;
        try {
            in = new FileReader("file.txt");
            System.out.println("read : " + (char)in.read());// 读取一个字符
            in.skip(5);// 跳过5个字符
            len = in.read(buff, 0, 10);// 从0开始读取10个字符缓存到buff中
            System.out.println("buff : " + new String(buff,0,len));
            // 读取剩余字符
            while((len = in.read(buff)) != -1){
                System.out.println("str : " + new String(buff,0,len));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
                if (in != null)
                    in.close();
            }catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}

Java IO(十七)FIleReader 和 FileWriter

原文:https://www.cnblogs.com/lingq/p/12929868.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!