字符流读取写入文件

简介: 字符流读取写入文件

Reader: FileReader BufferedReader

Writer: FileWriter BufferedWriter

字符流读取写入文件都有这两种

单独用FileWriter写入文件会每次写入数据,磁盘都有一次写入导致效率低,使用BufferReader搭配使用会把缓冲区装满再进行写入,提高了写入的效率。

try {
            BufferedWriter bw = new BufferedWriter(new FileWriter("aa1.txt", true));
            for (int i = 0; i < 10; i++) {
                bw.append("holle world!中文效果\n");
            }
            bw.flush();
            bw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println("字符流:");
        var m1 = System.currentTimeMillis();
        try {
            BufferedReader br = new BufferedReader(new FileReader("aa1.txt"));
            while (br.ready()) {
                System.out.println(br.readLine());
            }
            System.out.printf("字符流时间:%d毫秒%n", System.currentTimeMillis() - m1);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

image.gif

java.io.InputStream 输入流,主要是用来读取文件内容的。

java.io.OutputStream 输出流,主要是用来将内容字节写入文件的

System.out.println("字节流:");
        try {
            var m2 = System.currentTimeMillis();
            BufferedInputStream bis = new BufferedInputStream(new FileInputStream("aa1.txt"));
            byte[] s = new byte[1024];
            int aa = 0;
            while ((aa = bis.read(s)) > 0) {
                System.out.println(new String(s, 0, aa));
            }
            bis.close();
            System.out.printf("字节流时间:%d毫秒%n", System.currentTimeMillis() - m2);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

image.gif

byte[] s就是建立缓冲区读取字节

目录
相关文章
|
2月前
从文件中读取一行
从文件中读取一行。
30 5
|
8月前
|
存储 弹性计算 运维
读取文件
【4月更文挑战第29天】
77 2
|
8月前
|
Linux Windows
写入文件
写入文件。
44 2
|
8月前
|
移动开发 Java Linux
IO流:字节输出流FileOutputStream的超详细用法
IO流:字节输出流FileOutputStream的超详细用法
|
XML C# 数据格式
C#读取写入文件的三种方式
最近对文件的操作比较频繁。这里记录一下常用的几种文件读写的方式。 我这里使用窗体来做测试,例子在文末,可下载。
97 0
|
C语言 Python
从一个字节流中进行按行读取
从一个字节流中进行按行读取
222 0
|
网络协议 测试技术 Go
带缓冲的 Reader 读文件 | 学习笔记
快速学习带缓冲的 Reader 读文件
带缓冲的 Reader 读文件 | 学习笔记
|
移动开发 C++ Windows
C++读取文件
C++读取文件
读取文件的多种方式
读取文件的多种方式和
120 0