通过流实现文件读写的方法(下)
来源:互联网 发布:什么软件推广赚钱 编辑:程序博客网 时间:2024/06/06 10:52
2.3 缓冲区流方式读写文件
在使用字符流的write()或者read()方法时,都会导致从底层输入输出流读取或者写入一个或多个字节。要启用从字节到字符的有效转换,可以提前从底层输入输出流中读取更多的字节,使其超过满足当前读取操作所需的字节。为了达到最高效率,可以使用缓冲流方式读写文件。缓冲流方式的类是BufferedReader类和BufferedWriter类。如图所示。
2.3.1文件数据的写入
通过BufferedWriter类实现文件的写入,该类的基类是Writer类。
2.3.1.1 创建文件流
BufferedWriter缓冲区流是由OutputStreamWriter类获得的,而OutputStreamWriter类又是由FileOutputStream类获得的。
FileOutputStream fos = new FileOutputStream(filePath);
OutputStreamWriter osw = new OutputStreamWriter(fos);
BufferedWriter bw = new BufferedWriter(osw);
2.3.1.2 写入文件流
通过BufferedWriter类的write()方法将数据写入到文件流中。
bw.write(content);
其中,content是String类的对象,表示要写入到文件中的数据。
2.3.1.3 关闭文件流
此时需要关闭的文件流为缓冲区文件流、字节文件流和字符文件流。
bw.close();
osw.close();
fos.close();
2.3.2 文件数据的读取
通过BufferedReader类实现文件的写入,该类的基类是Reader类。
2.3.2.1 创建缓冲区流
BufferedReader类的使用方法与BufferedWriter类的使用方法类似。
FileInputStream fis = new FileInputStream(filePath);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
2.3.2.2 读取缓冲区流
通过BufferedReader类的read()方法读取缓冲区流。
br.read(content);
其中,content是char[]类型,用来保存从文件中读取的数据。
2.3.2.3 关闭缓冲区流
br.close();
isr.close();
fis.close();
3 小结
今天学习了使用流实现写入读取文件的三种方法,这三种流分别是字节流、字符流和缓冲区流。其中,字节流中操作的数据单元是字节,主要通过FileInputStream和FileOutputStream类实现;字符流中操作的数据单元是字符,主要通过InputStreamReader和OutputStreamWriter类实现;缓冲区流属于字符流,通过将字符读取或写入到缓冲区的方式提高了读写效率,通过BufferedReader类和BufferedWriter类实现。
- 通过流实现文件读写的方法(下)
- 通过流实现文件读写的方法(上)
- 通过流实现文件读写的方法(中)
- 通过java i/o流实现文件的读写功能
- 关于文件读写的监控, 通过APIHOOK来实现
- MFC之通过OLE实现对Excel文件的读写
- Android入门--文件的基本输入输出流,读写文件的方法实现
- C# XML文件格式化、xml文件读写(通过自定义类xmlNode实现对xml的操作)
- 在C++中实现文件的读写的基本方法
- 在C++中实现文件的读写的基本方法
- Windows下,实现不使用缓存的文件读写方式
- linux下调用库函数实现文件的读写
- Linux下运用C/C++实现txt文件的读写
- Java文件读写的实例一(三种读写流的方法比较)
- Linux环境下实现NTFS分区完全读写的方法
- 实现文件读写操作的几种方法
- Linux内核中读写文件/设备的实现方法
- Matlab实现文件读写的几种方法
- maven多模块创建-实战(2)
- 寻找丢失的第一个正整数
- IIC设备驱动程序(九)————用户态直接访问IIC设备
- java.lang.IllegalArgumentException: Document base D:\apache-tomcat-7.0.47\webapps\XXX错误
- angular2权威教程(中文版)(ng-book2)
- 通过流实现文件读写的方法(下)
- mysql安装问题
- Websphere GC分析器(Garbage collection Analyser)GA
- Hibernate 01
- Dapper.NET——轻量ORM
- 2单例/单件模式(Singleton Pattern)
- 程序员:统治世界or修复bug?
- 最大化(矩阵前缀和)
- 获取验证码,倒数5秒后才能再次获取