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


    }
}
相关推荐
远山枫谷4 分钟前
一文理清页面/组件通信与 Store 全局状态管理
前端·微信小程序
codingWhat4 分钟前
手撸一个「能打」的 React Table 组件
前端·javascript·react.js
HelloReader5 分钟前
Tauri 应用安全从开发到发布的威胁防御指南
前端
顺风尿一寸5 分钟前
从 Java NIO poll 到 Linux 内核 poll:一次系统调用的完整旅程
java
bluceli5 分钟前
WebAssembly实战指南:将高性能计算带入浏览器
前端·webassembly
yuki_uix5 分钟前
Object.entries:优雅处理 Object 的瑞士军刀
前端·javascript
程途知微7 分钟前
JVM运行时数据区各区域作用与溢出原理
java
华仔啊2 小时前
为啥不用 MP 的 saveOrUpdateBatch?MySQL 一条 SQL 批量增改才是最优解
java·后端
奇迹_h4 小时前
打造你的HTML5打地鼠游戏:零基础入门实践
前端
SuperEugene4 小时前
Vue生态精选篇:Element Plus 的“企业后台常用组件”用法扫盲
前端·vue.js·面试