Java IO(十七)FIleReader 和 FileWriter
Java IO(十七)FIleReader 和 FileWriter
一、介绍
FIleReader 和 FileWriter 是读写字符文件的便利类,分别继承于 InputStreamReader 和 OutputStreamWriter,同 FileInputStream 和 FileOutputStream 类似。
- FIleReader:读取字符文件的便利类,继承于InputStreamReader,是用于读取字符流的类。
- FileWriter:写入字符文件的便利类,继承于OutputStreamReader,是用于写入字符流的类。
注意:
- FIleReader 和 FileWriter 是读写字符流的类,如果读取字节流,考虑使用 FileInputStream 和 FileOutputStream。
- FIleReader 和 FileWriter 不能指定编码集(格式),如果需要指定编码集(格式),考虑使用它们的父类 InputStreamReader 和 OutputStreamWriter。
二、构造方法
(一)、FIleReader

(二)、FileWriter

三、常用API
FileReader 和 FileWriter 直接基于 InputStreamReader 和 OutputStreamWriter 实现的,具体 API 可以参考 Java IO(十六)InputStreamReader 和 InputStreamWriter 。
四、实例
public class FileDemo {
private static char[] chs = new char[]
{'a','b','c','d','e','f','g','h','i','j','k','l','m',
'n','o','p','q','r','s','t','u','v','w','x','y','z'};
public static void main(String[] args) {
write();
read();
}
/**
* FileWriter 测试
*/
public static void write() {
FileWriter out = null;
try {
// 给定文件名,并指定追加模式:true,续写到文件中
out = new FileWriter("file.txt",true);
out.write("字节流转换为字符的案例");// 写入中文字符
out.write("0123456789");// 写入数字并换行
out.write(chs);// 写入字符数组
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
if (out != null)
out.close();
}catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* FileReader 测试
*/
public static void read() {
FileReader in = null;
char[] buff = new char[10];
int len = 0;
try {
in = new FileReader("file.txt");
System.out.println("read : " + (char)in.read());// 读取一个字符
in.skip(5);// 跳过5个字符
len = in.read(buff, 0, 10);// 从0开始读取10个字符缓存到buff中
System.out.println("buff : " + new String(buff,0,len));
// 读取剩余字符
while((len = in.read(buff)) != -1){
System.out.println("str : " + new String(buff,0,len));
}
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
if (in != null)
in.close();
}catch (Exception e) {
e.printStackTrace();
}
}
}
}
Java IO(十七)FIleReader 和 FileWriter的更多相关文章
- 黑马程序员——JAVA基础之IO流FileReader,FileWriter
------- android培训.java培训.期待与您交流! ---------- IO(Input Output)流 IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 J ...
- java io系列22之 FileReader和FileWriter
FileReader 是用于读取字符流的类,它继承于InputStreamReader.要读取原始字节流,请考虑使用 FileInputStream.FileWriter 是用于写入字符流的类,它继承 ...
- IO流--FileReader&&FileWriter
(一)FileReader (1)第一种读取方式 package com.songyan.fileReader; import java.io.FileNotFoundException; impor ...
- Java IO 转换流 字节转字符流
Java IO 转换流 字节转字符流 @author ixenos 字节流 输入字节流:---------| InputStream 所有输入字节流的基类. 抽象类.------------| Fil ...
- java中OutputStream字节流与字符流InputStreamReader 每一种基本IO流BufferedOutputStream,FileInputStream,FileOutputStream,BufferedInputStream,BufferedReader,BufferedWriter,FileInputStream,FileReader,FileWriter,InputStr
BufferedOutputStream,FileInputStream,FileOutputStream,BufferedInputStream,BufferedReader,BufferedWri ...
- java IO操作:FileInputStream,FileOutputStream,FileReader,FileWriter实例
FileInputStream <span style="font-family:Verdana;">import java.io.File; import java. ...
- Java IO: FileReader和FileWriter
作者: Jakob Jenkov 译者: 李璟(jlee381344197@gmail.com) 本章节将简要介绍FileReader和FileWriter.与FileInputStream和File ...
- java 输入输出IO流 字符流 FileWriter FileReader
为什么要使用字符流 当使用字节流读取文本文件时,可能会有一个小问题.就是遇到中文字符时,可能不会显示完整的字符,那是因为一个中文字符可能占用多个字节存储.所以Java提供一些字符流类,以字符为单位读写 ...
- java的文件流:字节流(FileInputStream、FileOutputStream)和字符流(FileReader、FileWriter)。
java的输入输出建立在4个抽象类的基础上:InputStream.OutputStream.Reader.Writer.InputSream和OutputStream被设计成字节流类,而Reader ...
随机推荐
- 【UEFI】---史上最全的X86平台启动流程分析(软硬结合)
最近研究了下X86处理器的启动流程分析,相比于常见的ARM来说,X86平台启动流程真的复杂了很多,本次基于项目实际的两个问题入手,研究了包括以下几个部分的内容: 1. 从硬件角度看启动流程 2. 从软 ...
- B. Preparing for Merge Sort
\(考虑的时候,千万不能按照题目意思一组一组去模拟\) \(要发现每组的最后一个数一定大于下一组的最后一个数\) \(那我们可以把a中的数一个一个填充到vec中\) #include <bits ...
- 挑战程序竞赛 反转开关 poj3276
这个我其实也没有看太懂它的证明过程. 1.若某一个位置被翻转了n次,则其实际上被翻转了n%2次. 2.分析易知翻转的顺序并不影响最终结果. 3.现在我们着眼于第1个位置,可知若要将第1个位置进行翻转只 ...
- P4016 负载平衡问题 网络流重温
P4016 负载平衡问题 这个题目现在第二次做,感觉没有这么简单,可能是我太久没有写这种题目了,基本上都忘记了,所以我连这个是费用流都没有看出来. 有点小伤心,知道是费用流之后,我居然还拆点了. 这个 ...
- dp cf 20190615
A. Timofey and a tree 这个不算是dp,就是一个思维题,好难想的思维题,看了题解才写出来的, 把点和边分开,如果一条边的两个点颜色不同就是特殊边,特殊边两边连的点就叫特殊点, 如果 ...
- Qt for Android (三) 打开Android相册并选一个图片进行显示
Qt for Android (三) 这两天弄了一下android相册的相关功能.还是花了挺长时间的,这里总结一下,避免以后再踩坑.同时也在这篇文章里面补齐一些android开发的基础支持 打开And ...
- 【FreeRTOS学习03】小白都能懂的Task Management 任务管理基本概念介绍
在FreeRTOS中,线程的术语又可以被称之为任务,或许这样更加合适,本文将介绍任务的创建/删除,任务参数的使用,以及任务优先级: 1 软实时和硬实时 硬实时系统的任务运行正确性与响应时限是紧密相关的 ...
- java中"no enclosing instance of type * is accessible"的解决方法
这种情况一般发生在“在静态方法里面使用内部类” 测试代码: public class Test { public static void main(String[] args) { A a = new ...
- 一文带你学会国产加密算法SM4的java实现方案
前言 今天给大家带来一个国产SM4加密解密算法的java后端解决方案,代码完整,可以直接使用,希望给大家带来帮助,尤其是做政府系统的开发人员,可以直接应用到项目中进行加密解密. 画重点!是SM4哦,不 ...
- Docker 镜像制作教程:针对不同语言的精简策略
本系列文章将分为三个部分: 第一部分着重介绍多阶段构建(multi-stage builds),因为这是镜像精简之路至关重要的一环.在这部分内容中,我会解释静态链接和动态链接的区别,它们对镜像带来的影 ...