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();//关闭流


    }
}
相关推荐
用户1563068103511 小时前
Day01 | Java 基础(Java SE)
java
Pedantic1 小时前
SwiftUI 手势层级(Gesture Hierarchy)详解
前端
飘尘1 小时前
前端转型全栈(Java后端)的快速上手指引
前端·后端·全栈
一颗烂土豆1 小时前
Meshopt 压缩深度解析,为什么它比 Draco 更快
前端·javascript·webgl
浏览器工程师2 小时前
AI Agent 接浏览器任务,先别让它一路点到底
前端·后端
行者全栈架构师3 小时前
Maven dependency:tree 的 8 个高级用法
java·后端
雨季mo浅忆3 小时前
VSCode自动格式化三要素
前端
爱勇宝3 小时前
深扒 Anthropic 1680 位工程师简历:应届生几乎没机会,AI 公司最缺的不是博士
前端·后端·程序员
kyriewen4 小时前
同事每天催我 Code Review,我写了个脚本让 AI 替我 review PR——现在他反过来催 AI 了
前端·javascript·ai编程