zoukankan      html  css  js  c++  java
  • java基础之io流总结四:字符流读写

    字符流读写只适用于字符文件。

    基本字符流(转换流)读写文件

    转换流本身是字符流,但是实例化的时候传进去的是一个字节流,所以叫做转换流

            InputStreamReader isr = new InputStreamReader(new FileInputStream(inputPath), "GB2312");
            OutputStreamWriter osr = new OutputStreamWriter(new FileOutputStream(outPutPath), "GB2312");
            // 可以直接写入字符串/字符/字符数组等
            osr.write("xxxxx
    ");
    
            // 单个字符读写
            int c;
            while ((c = isr.read()) != -1) {
                osr.write(c);
            }
    
            // 字符数组读写
            char[] chs = new char[1024];
            int len;
            while ((len = isr.read(chs)) != -1) {
                osr.write(chs, 0, len);
            }
    
            osr.close();
            isr.close();

    简化版字符流(常用)读写文件

            FileReader fr = new FileReader(inPutPath);
            FileWriter fw = new FileWriter(outPutPath);
    
            // 一次读写一个字符
            int ch;
            while ((ch = fr.read()) != -1) {
                fw.write(ch);
            }
            // 一次读写一个字符数组
            char[] chs = new char[1024];
            int len;
            while ((len = fr.read(chs)) != -1) {
                fw.write(chs, 0, len);
            }
            fr.close();
            fw.close();

    缓冲区字符流读写文件

            BufferedReader br = new BufferedReader(new FileReader(inPutPath));
            BufferedWriter bw = new BufferedWriter(new FileWriter(outPutPath));
            // 一次读写一个字符
            int ch;
            while ((ch = br.read()) != -1) {
                bw.write(ch);
            }
            // 一次读写一个字符数组
            char[] chs = new char[1024];
            int len;
            while ((len = br.read(chs)) != -1) {
                bw.write(chs, 0, len);
                bw.newLine();
                System.out.print(new String(chs, 0, len));
            }
            // 一次读写一行数据
            String line;
            while ((line = br.readLine()) != null) {
                bw.write(line);
                bw.newLine();
                bw.flush();//刷新数据
            }
            br.close();
            bw.close();
  • 相关阅读:
    mac-常用命令
    react-redux-数据流
    ##通讯录阶段重要代码
    ##DAY15——UICollectionView
    ##DAY14——StoryBoard
    通讯录——单例
    通讯录——选择图片
    ##DAY13——可视化编程之XIB
    ##DAY12 UITableViewCell自定义
    ##DAY10 UITableView基础
  • 原文地址:https://www.cnblogs.com/blazeZzz/p/9129260.html
Copyright © 2011-2022 走看看