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


    }
}
相关推荐
aaaameliaaa1 小时前
字符函数和字符串函数
c语言·笔记·算法
圆山猫1 小时前
[Virtualization](四):Linux KVM/RISC-V 的 vCPU 运行路径
java·linux·risc-v
城管不管2 小时前
ReAct、Plan-and-Execute、Reflection 三大智能 Agent 范式核心区别
java·人工智能·算法·spring·ai·动态规划
郭老二2 小时前
【前端】vue3:编译步骤
前端
IT小白杨2 小时前
从环境制备到自动化工作流:多账号运营的工程化架构拆解
java·经验分享·自动化·安全架构·指纹浏览器
月疯2 小时前
二分法算法(水平等分图形面积)
算法
豆瓣鸡3 小时前
算法日记 - Day3
java·开发语言·算法
白白白小纯3 小时前
算法篇—反转链表
c语言·数据结构·算法·leetcode
萧瑟余晖3 小时前
Java深入解析篇九之NIO详解
java·网络·nio
不在逃避q3 小时前
Trae/Vs Code/Cursor命令行无法跑npm命令
前端·arcgis·npm