3.1 字符输入流【Reader】
java.io.Reader 抽象类是表示用于读取字符流的所有类的超类 , 可以读取字符信息到内存中 。它定义了字符输入 流的基本共性功能方法 。
public void close() :关闭此流并释放与此流相关联的任何系统资源 。
public int read() : 从输入流读取一个字符 。
public int read(char[] cbuf) : 从输入流中读取一些字符 , 并将它们存储到字符数组 cbuf中。
3.2 FileReader类
java.io.FileReader 类是读取字符文件的便利类 。构造时使用系统默认的字符编码和默认字节缓冲区 。
小贴士:
- 字符编码:字节与字符的对应规则 。Windows系统的中文编码默认是GBK编码表 。idea中UTF-8
- 字节缓冲区:一个字节数组 , 用来临时存储字节数据 。
- 构造方法
- FileReader(File file) : 创建一个新的 FileReader , 给定要读取的File对象 。
- FileReader(String fileName) : 创建一个新的 FileReader , 给定要读取的文件的名称
- 当你创建一个流对象时 , 必须传入一个文件路径 。类似于FileInputStream
- 构造举例 , 代码如下:
- 读取字符: read 方法 , 每次可以读取一个字符的数据 , 提升为int类型 , 读取到文件末尾 , 返回 -1 , 循环读 取 , 代码使用演示:
2. 使用字符数组读取: read(char[] cbuf) , 每次读取b的长度个字符到数组中 , 返回读取到的有效字符个数 , 读取到末尾时 , 返回 -1 , 代码使用演示:
public class FRRead {public static void main(String[] args) throws IOException {// 使用文件名称创建流对象FileReader fr = new FileReader("read.txt");// 定义变量 , 保存有效字符个数int len ;// 定义字符数组 , 作为装字符数据的容器char[] cbuf = new char[2];// 循环读取while ((len = fr.read(cbuf))!=‐1) { System.out.println(new String(cbuf));}// 关闭资源fr.close();}}输出结果: 程序员序获取有效的字符改进 , 代码使用演示:
public class FISRead {public static void main(String[] args) throws IOException {// 使用文件名称创建流对象FileReader fr = new FileReader("read.txt");// 定义变量 , 保存有效字符个数int len ;// 定义字符数组 , 作为装字符数据的容器char[] cbuf = new char[2];// 循环读取while ((len = fr.read(cbuf))!=‐1) { System.out.println(new String(cbuf,0,len));}// 关闭资源fr.close();}}输出结果: 程序员3.3字符输出流【Writer】
java.io.Writer 抽象类是表示用于写出字符流的所有类的超类 , 将指定的字符信息写出到目的地 。它定义了字节 输出流的基本共性功能方法 。
void write(int c) 写入单个字符 。
void write(char[] cbuf) 写入字符数组 。
abstract void write(char[] cbuf, int off, int len) 写入字符数组的某一部分,off数组的开始索引,len 写的字符个数 。
void write(String str) 写入字符串 。
void write(String str, int off, int len) 写入字符串的某一部分,off字符串的开始索引,len写的字符个 数 。
void flush() 刷新该流的缓冲 。
void close() 关闭此流 , 但要先刷新它 。
3.4 FileWriter类
java.io.FileWriter 类是写出字符到文件的便利类 。构造时使用系统默认的字符编码和默认字节缓冲区 。
构造方法
FileWriter(File file) : 创建一个新的 FileWriter , 给定要读取的File对象
FileWriter(String fileName) : 创建一个新的 FileWriter , 给定要读取的文件的名称 。
当你创建一个流对象时 , 必须传入一个文件路径 , 类似于FileOutputStream 。
构造举例 , 代码如下:
public class FileWriterConstructor {public static void main(String[] args) throws IOException {// 使用File对象创建流对象File file = new File("a.txt"); FileWriter fw = new FileWriter(file);// 使用文件名称创建流对象FileWriter fw = new FileWriter("b.txt");}}
推荐阅读
- Java并发的原子性、可见性、有序性
- 数据结构Java实现:循环链表和双向链表
- Javascript创建对象方式总结
- 情侣名字简短好听精选 情侣名字简短好听
- 十二星座古风复姓名字精选 十二星座古风复姓名字
- 茶文化的起源
- 雄鹿两个字母哥 雄鹿34号字母哥
- 读海底两万里有感600字 读海底两万里有感
- 15款Java程序员必备的开发工具
- 2022支付宝福气店礼物在哪看物流,2022支付宝集五福免费打印福字教程