字符输入流读取文本文件
1. Reader类(读取字符流的抽象类)
Reader类的常用方法
方法名称 |
说明 |
int read() |
从输入流中读取单个字符 |
int read(byte[] c) |
从输入流中读取c .length长度的字符,保存到字节数组c中,返回实际读取的字符数 |
int read(byte[] c, int off , int len) |
从输入流中读取最多len长度的字节,保存到字节数组c中,保存的位置从off开始,返回实际读取的字符数 |
void close() |
关闭流 |
2.字符输入流FileReader类
常用构造方法:
※ FileReader (String name)
Reader fileObject=new FileReader (“C:\\test.txt”);
使用FileReader读取文件步骤:
(1) 引入相关类(IOException, Reader, FileReader)
Import java.io.*;
(2) 创建一个FileReader对象
Reader fileObject=new File Reader (“C:\\test.txt”);
(3) 利用FileReader类的方法读取文本文件的数据
int read (); //读取单个字符
(4) 关闭文件输入流对象
fileObject .close ();
3.字符输入流BufferedReader类
常用构造方法:
※ BufferedReader (Reader in)
Reader fileObject=new FileReader (“C:\\test.txt”);
BufferedReader br=new BufferedReader (BufferedReader);
使用BufferedReader读取文件步骤:
(1) 引入相关类(IOException, Reader, BufferedReader)
Import java.io.*;
(2) 创建一个BufferedReader对象
Reader fr=new FileReader (“C:\\test.txt”);
BufferedReader br=new BufferedReader (fr);
(3) 利用BufferedReader类的方法读取文本文件的数据
br. readLine (); //读取一行数据,返回字符串
【readLine()是BufferedReader类特有的方法】
(4) 关闭文件输入流对象
br .close ();
fr .close ();
◎ FileReader和BufferedReader区别:
BufferedReader类带有缓冲区,它可以先把一批数据读到缓冲区,接下来的 读操作都是从缓冲区内获取数据,避免每次都从数据源读取数据进行字符编码转换,从而提高读取操作的效率。
字符输出流写文本文件
- Writer类
Writer类的常用方法
方法名称 |
说明 |
write(String str) |
将str字符串里包含的字符输出到指定的输出流中 |
write(String str , int off , int len) |
将str字符串从off位置开始,长度为len的字符输出到输出流中 |
void close() |
关闭输出流 |
void flush() |
刷新输出流 |
2.字符输入流FileWriter类
常用构造方法:
※ FileWriter (String name)
Writer fileObject=new FileWriter (“C:\\test.txt”);
使用FileWriter读取文件步骤:
(1) 引入相关类(IOException, FileWriter)
Import java.io.*;
(2) 创建一个FileWriter对象
Writer fr=new FileWriter (“C:\\test.txt”);
(3) 利用FileWriter类的方法写文本文件
fr. write (“hello”);
(4) 关闭文件输出流
fr. close ();
3.字符输入流BufferedWriter类
常用构造方法:
※ BufferedReader (Writerout)
Writer fw=new File Writer (“C:\\test.txt”);
BufferedWriter br=new Buffered Writer (fw);
使用BufferedWriter和FileWriter将数据写入文件:
(1) 引入相关类(IOException, FileWriter, BufferedWriter)
Import java.io.*;
(2) 创建一个BufferedWriter对象
FileWriter fw=new FileWriter (“C:\\test.txt”);
BufferedWriter bw=new BufferedWriter (fw);
(3) 利用BufferedWriter类的方法写文本文件
bw. write(“hello”);
(4) 关闭文件输入流对象
bw .flush (); //刷新该流的缓冲
fw .close ();
※ 替换文本文件内容:replace(文件中的内容,替换的内容)
【要用一个变量接收其返回的数据】
※ 使用FileWriter写网页文件时:
换行:“\r\n”或“<br/>”
使用BufferedWriter写网页文件时:
换行:bw. newLine();【在文本文件中会显示换行,但在html文件中不会换行】