文章目录
前言
BufferedWriter 和 BufferedReader 为带有默认缓冲的字符输出输入流,因为有缓冲区所以很效率比没有缓冲区的很高。
1.方法介绍
1.1.BufferedWriter 类
构造方法:
bufferedWriter bf = new bufferedWriter(Writer out );主要方法:
void write(char ch);//写入单个字符。
void write(char []cbuf,int off,int len)//写入字符数据的某一部分。void write(String s,int off,int len)//写入字符串的某一部分。
void newLine()//写入一个行分隔符
void flush();//刷新该流中的缓冲。将缓冲数据写到目的文件中去。void close();//关闭此流,再关闭前会先刷新他。
1.2.BufferedReader类
构造方法:
BufferedReader br = new BufferReader(Reader in);主要方法:
int read();//读取单个字符。int read(char[] cbuf,int off,int len);//将字符读入到数组的某一部分。返回读取的字符数。达到尾部,返回-1。
String readLine(); //读取一个文本行。
void close(); //关闭该流。并释放与该流相关的所有资源。
2.代码实现
2.1.写入数据BufferedWriter
代码如下:
String filename = "d:\\text.txt";
BufferedWriter bufferwriter = null;
bufferwriter = new BufferedWriter(new FileWriter(filename));
bufferwriter.write("黄鹤楼送孟浩然之广陵");
// 写入换行符
bufferwriter.newLine();
bufferwriter.write("【作者】李白 【朝代】唐");
// 写入换行符
bufferwriter.newLine();
bufferwriter.write("故人西辞黄鹤楼,");
// 写入换行符
bufferwriter.newLine();
bufferwriter.write("烟花三月下扬州。");
// 写入换行符
bufferwriter.newLine();
bufferwriter.write("孤帆远影碧空尽,");
// 写入换行符
bufferwriter.newLine();
bufferwriter.write("唯见长江天际流。");
// 关闭流
bufferwriter.close();
System.out.println("文件写入成功");
2.2.读取数据BufferedReader
代码如下:
//打开一个file
File createFile = new File("d:\\text.txt");
// new一个InputStreamReader←FileInputStream←file
InputStreamReader streamReader = new InputStreamReader(new FileInputStream(createFile));
//用BufferedReader(←InputStreamReader)的readLine()方法读取
BufferedReader bufferReader = new BufferedReader(streamReader);
String txtLine = null;
while ((txtLine = bufferReader.readLine()) != null) {
System.out.println(txtLine);
}
bufferReader.close();