IO流(字符流)

  • 适合做文本文件的操作

FIleReader(文件字符输入流)

  • 作用:以内存为基准,可以把文件中的数据以字符的形式读入到内存中
java 复制代码
 public static void main(String[] args) throws IOException {
        try (
                Reader fr = new FileReader("src/time/123.txt");
        ) {
            //2.读取文本文件的内容
            int c; //记住每次读取的字符编号
            while ((c = fr.read()) != -1) {
                System.out.print((char) c);
            }

            //3.每次读取多个字符
            char[] buffer = new char[3];
            int len;
            while ((len = fr.read(buffer)) != -1) {
                System.out.print(new String(buffer, 0, len));
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();

        }
    }

FileWriter(文件字符输出流)

java 复制代码
public static void main(String[] args) {
        try (
//            Writer fw = new FileWriter("D:/java/src/666.txt");
                //追加数据的管道
            Writer fw = new FileWriter("D:/java/src/666.txt",true);

                ) {

            //1.写一个字符
            fw.write('a');
            fw.write(97);
            fw.write('牛');
            fw.write("\r\n");//换行

            //2.写字符串
            fw.write("我爱你");
            fw.write("\r\n");

            //3.写字符串的一部分
            fw.write("我爱你asd",0,5);
            fw.write("\r\n");

            //4.写一个字符数组
            char[] buffer = {'我','爱','你','1','3','1','4'};
            fw.write(buffer);
            fw.write("\r\n");

            //5.写一部分的字符数组
            fw.write(buffer,0,2 );
            fw.write("\r\n");
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

注意:字符输出流写出数据后,必须刷新流,或者关闭流,写出的数据才能生效

java 复制代码
public static void main(String[] args) throws IOException {

            Writer fw = new FileWriter("D:/java/src/666.txt");

            //1.写一个字符
            fw.write('a');
            fw.write(97);
            fw.write('牛');
            fw.write("\r\n");//换行

            //2.写字符串
            fw.write("我爱你");
            fw.write("\r\n");

            //3.写字符串的一部分
            fw.write("我爱你asd",0,5);
            fw.write("\r\n");

//            fw.flush();//刷新流
              fw.close();//关闭流


    }
}
相关推荐
聪明的笨猪猪38 分钟前
Java Redis “持久化”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
聪明的笨猪猪1 小时前
Java Redis “核心基础”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
Miraitowa_cheems1 小时前
LeetCode算法日记 - Day 68: 猜数字大小II、矩阵中的最长递增路径
数据结构·算法·leetcode·职场和发展·贪心算法·矩阵·深度优先
奋斗的小monkey3 小时前
Spring Boot 3.x核心特性与性能优化实战
java·spring boot·微服务·性能优化·响应式编程
灵感__idea3 小时前
Hello 算法:让前端人真正理解算法
前端·javascript·算法
程序猿DD4 小时前
将 GPU 级性能带到企业级 Java:CUDA 集成实用指南
java·架构
学习2年半4 小时前
小米笔试题:一元一次方程求解
算法
向葭奔赴♡4 小时前
CSS是什么?—— 网页的“化妆师”
前端·css
MATLAB代码顾问4 小时前
MATLAB绘制多种混沌系统
人工智能·算法·matlab