• IO_字符流


    字符流:只能处理 纯文本,全部为可见字符  ——简单理解为.txt 和 html文件

    节点流:Reader  FileReader

                  Writer   FileReader

    一、纯文本读取

    1、建立联系

    2、选择流    Reader  FileReader

    3、读取文件    char[ ] flu = new char[ 1024 ]

    4、关闭

    public class Readers {
        public static void main(String[] args) {
            //1、建立联系
            File src = new File("F:/test/1.txt");
            //2、选择流
            Reader reader=null;
            {
                try {
                    reader = new FileReader(src);
    
                    //3、读取
    
                    char[] flu = new char[1024];//缓存数组
                    int len = 0;
                    while (-1!=(len=reader.read(flu))){
                        //字符数组转字符串
                        String str = new String(flu,0,len);
                        System.out.println(str);
                    }
                } catch (FileNotFoundException e) {
                    System.out.println("源文件不存在");
                    e.printStackTrace();
                } catch (IOException e) {
                    System.out.println("文件读取失败");
                    e.printStackTrace();
                }finally {
                    //4、关闭
                    if (null!=reader){
                        try {
                            reader.close();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                }
            }
        }
    }
    

    二、纯文本写出

    1、建立联系

    2、选择流    Writer   FileReader

    3、读取文件    write( 字符数组,0,长度)+flush( )

    4、关闭

    public class Writers {
        public static void main(String[] args) {
            //1、创建源
            File file = new File("F:/test/1.txt");
            //2、选择流
            Writer writer = null;
            try {
                writer = new FileWriter(file);
    
                //写出
                String str = "I love you!";
                writer.write(str);
                //强制写出
                writer.flush();
            } catch (IOException e) {
                e.printStackTrace();
            }finally {
                if (null!=writer) {
                    try {
                        writer.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }
    

    三、纯文本的拷贝

    综合以上一、二

    /**
     * 仅限字符的纯文本
     *
     * @author 
     * @date 2018/5/29 20:46
     */
    public class CopyText {
        public static void main(String[] args) {
            //1、创建连接
            File src = new File("F:/test/1.txt");
            File des = new File("F:/test/p/100.txt");
    
            //选择流
            Reader reader = null;
            Writer writer = null;
            try {
                reader = new FileReader(src);
                writer= new FileWriter(des);
    
                char[] flu = new char[1024];
                int len = 0;
                //持续读取、写入
                while (-1!=(len = reader.read(flu))){
                    writer.write(flu,0,len);
                }
                writer.flush();//强制刷出
    
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                //关闭
                try {
                    if(null!=writer){
                        writer.close();
                    }
                    if (null!=reader){
                        reader.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    

  • 相关阅读:
    栈和队列
    绪论
    抽象数据类型和python类
    《黑马程序员》流程控制(顺序结构,选择结构,循环结构)(C语言)
    《黑马程序员》C语言中的基本运算(C语言)
    《黑马程序员》C语言中的基本数据类型 (C语言)
    《黑马程序员》 关键字、标示符、注释(C语言)
    获取图片
    文件路径
    文件上传
  • 原文地址:https://www.cnblogs.com/huangzhe1515023110/p/9276041.html
Copyright © 2020-2023  润新知