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


    }
}
相关推荐
拉不动的猪8 小时前
try...catch 核心与生态协作全解析
前端·javascript·vue.js
二进制的Liao8 小时前
【编程】脚本编写入门:从零到一的自动化之旅
数据库·python·算法·自动化·bash
影子24018 小时前
oralce创建种子表,使用存储过程生成最大值sql,考虑并发,不考虑并发的脚本,plsql调试存储过程,java调用存储过程示例代码
java·数据库·sql
Xeon_CC8 小时前
在react-app-rewired工程项目中,调试AntVG6库源码包。
前端·react.js·前端框架
武子康8 小时前
Java-172 Neo4j 访问方式实战:嵌入式 vs 服务器(含 Java 示例与踩坑)
java·服务器·数据库·sql·spring·nosql·neo4j
程序猿DD8 小时前
深入探索剖析 JVM 的启动过程
java
自然数e9 小时前
C++多线程【线程管控】之线程转移以及线程数量和ID
开发语言·c++·算法·多线程
Arva .9 小时前
ConcurrentHashMap 的线程安全实现
java·开发语言
听风吟丶9 小时前
Java 9+ 模块化系统(Jigsaw)实战:从 Jar 地狱到模块解耦的架构升级
java·架构·jar