zoukankan      html  css  js  c++  java
  • Java IO(十七)FIleReader 和 FileWriter

    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();
                }
            }
        }
    }
  • 相关阅读:
    while循环
    No.四
    No. three
    第二章吧
    第二次写博客
    我人生的第一个程序,相当于哥伦布发现新大路。
    orale命令6 rman备份
    oracle 命令4 热备份
    oracle命令3 冷备份
    oracle命令2 和一致性关闭、非一致性关闭
  • 原文地址:https://www.cnblogs.com/lingq/p/12929868.html
Copyright © 2011-2022 走看看