• Java学习笔记38(字符流)


    字符输出流:Writer类:使用时候需要它的子类

    局限性:只能写文本文件,无法写其他文件

    方法:

    package demo;
    
    import java.io.FileWriter;
    import java.io.IOException;
    
    public class WriterDemo {
        public static void main(String[] args) throws IOException {
            FileWriter fw = new FileWriter("d:\java.txt");
            fw.write(100);// 写入:d
            fw.flush();
            // 注意每一次写都要使用flush方法
            char[] cs = { 'a', 'b', 'c', 'd', 'e' };
            fw.write(cs);// 写入:abcde
            fw.flush();
            fw.write(cs, 1, 2);// 写入:bc
            fw.flush();
    
            fw.write("java");// 写入:java
            fw.flush();
    
            fw.close();
        }
    }

    字符输入流读文本:Reader类

    同样有局限性,只能读文本文件

    方法(使用上边写好的java.txt文本):

    还是两种方式:

    package demo;
    
    import java.io.FileReader;
    import java.io.IOException;
    
    public class ReaderDemo {
        public static void main(String[] args) throws IOException {
            FileReader fr = new FileReader("d:\java.txt");
            int len = 0;
            while ((len = fr.read()) != -1) {
                System.out.print((char) len);
            }
            fr.close();
          
            System.out.println("两种方法分界线");
    
            FileReader fr1 = new FileReader("d:\java.txt");
            char[] ch = new char[1024];
            while ((len = fr1.read(ch)) != -1) {
                System.out.print(new String(ch, 0, len));
            }
            fr1.close();
        }
    }

    复制文本文件:

    package demo;
    
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    
    /*
     *  字符流复制文本文件,而且必须是文本文件
     *  字符流查询本机默认的编码表,简体中文GBK
     *  FileReader读取数据源
     *  FileWriter写入到数据目的
     */
    public class Copy {
        public static void main(String[] args) {
            FileReader fr = null;
            FileWriter fw = null;
            try {
                fr = new FileReader("c:\1.txt");
                fw = new FileWriter("d:\1.txt");
                char[] cbuf = new char[1024];
                int len = 0;
                while ((len = fr.read(cbuf)) != -1) {
                    fw.write(cbuf, 0, len);
                    fw.flush();
                }
    
            } catch (IOException ex) {
                System.out.println(ex);
                throw new RuntimeException("复制失败");
            } finally {
                try {
                    if (fw != null)
                        fw.close();
                } catch (IOException ex) {
                    throw new RuntimeException("释放资源失败");
                } finally {
                    try {
                        if (fr != null)
                            fr.close();
                    } catch (IOException ex) {
                        throw new RuntimeException("释放资源失败");
                    }
                }
            }
        }
    }
  • 相关阅读:
    Vue单元测试Karma+Mocha
    Vue将px转化为rem适配移动端
    vscode格式化代码插件Beautify
    vue项目初始化时npm run dev报错webpack-dev-server解决方法
    在vue项目中引入jquery
    vue全局使用axios插件请求ajax
    vue项目中postcss-pxtorem的使用及webpack中的配置 css中单位px和em,rem的区别
    快速搭建Vue项目
    vue mand-mobile按2.0文档默认安装的是1.6.8版本
    vue mandmobile ui实现三列列表的方法
  • 原文地址:https://www.cnblogs.com/xuyiqing/p/8288395.html
Copyright © 2020-2023  润新知