文件写入的6种方法,这种方法性能最好(1)

简介: 文件写入的6种方法,这种方法性能最好(1)

在 Java 中操作文件的方法本质上只有两种:字符流和字节流,而字节流和字符流的实现类又有很多,因此在文件写入时我们就可以选择各种各样的类来实现。我们本文就来盘点一下这些方法,顺便测试一下它们性能,以便为我们选出最优的写入方法。


在正式开始之前,我们先来了解几个基本的概念:流、字节流和字符流的定义与区别。


0.什么是流?


Java 中的“流”是一种抽象的概念,也是一种比喻,就好比水流一样,水流是从一端流向另一端的,而在 Java 中的“水流”就是数据,数据会从一端“流向”另一端。


根据流的方向性,我们可以将流分为输入流和输出流,当程序需要从数据源中读入数据的时候就会开启一个输入流,相反,写出数据到某个数据源目的地的时候也会开启一个输出流,数据源可以是文件、内存或者网络等。


1.什么是字节流?


字节流的基本单位为字节(Byte),一个字节通常为 8 位,它是用来处理二进制(数据)的。字节流有两个基类:InputStream(输入字节流)和 OutputStream(输出字节流)。


常用字节流的继承关系图如下图所示:


微信图片_20220120150350.jpg


其中 InputStream 用于读操作,而 OutputStream 用于写操作。


2.什么是字符流?


字符流的基本单位为 Unicode,大小为两个字节(Byte),它通常用来处理文本数据。字符流的两个基类:Reader(输入字符流)和 Writer(输出字符流)。


常用字符流的继承关系图如下图所示:


微信图片_20220120150415.jpg



相关文章
|
5月前
|
存储 文件存储
<文件操作> 文件的打开与关闭,顺序读写,随机读写,二进制文件,读取结束的判定,文件缓冲区
<文件操作> 文件的打开与关闭,顺序读写,随机读写,二进制文件,读取结束的判定,文件缓冲区
36 1
|
5月前
|
C语言 C++
C/C++文件读取操作
C/C++文件读取操作
|
5月前
|
容器
这个错误是因为在读取文件时,管道已经结束
【1月更文挑战第14天】【1月更文挑战第67篇】这个错误是因为在读取文件时,管道已经结束
93 4
|
5月前
|
存储 JSON 测试技术
高效文件读取策略:Buffer的妙用
高效文件读取策略:Buffer的妙用
90 0
|
10月前
|
XML C# 数据格式
C#读取写入文件的三种方式
最近对文件的操作比较频繁。这里记录一下常用的几种文件读写的方式。 我这里使用窗体来做测试,例子在文末,可下载。
82 0
读取文件结束的判定的概念,使用方法和文件缓冲区的位置
读取文件结束的判定的概念,使用方法和文件缓冲区的位置
127 0
读取文件的多种方式
读取文件的多种方式和
102 0
|
缓存
文件写入的6种方法,这种方法性能最好(6)
文件写入的6种方法,这种方法性能最好(6)
188 0
文件写入的6种方法,这种方法性能最好(6)
|
存储 缓存 Java
文件写入的6种方法,这种方法性能最好(3)
文件写入的6种方法,这种方法性能最好(3)
228 0
文件写入的6种方法,这种方法性能最好(3)
|
Java 数据处理
文件写入的6种方法,这种方法性能最好(2)
文件写入的6种方法,这种方法性能最好(2)
106 0
文件写入的6种方法,这种方法性能最好(2)