------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
package Nineteen;
import java.io.*;/*缓冲区的出现是为了提高流的操作效率而出现的。
* 所以在创建缓冲区前,必须要先有流对象。
* 该缓冲区提供了一个跨屏台的换行符:newLine();
* */
public class OneBuffer {
public static void main(String[] args) throws IOException
{
//创建一个字符写入流对象。
FileWriter fe=new FileWriter("win.doc");
/*为了提高字符写入流的效率,加入了缓冲技术。
* 只要将需要提高效率的流对象作为参数传递给缓冲区的构造函数即可*/
BufferedWriter br=new BufferedWriter(fe);
for(int i=0;i<4;i++)
{
br.write("abc"+i);
br.newLine();
br.flush();//不断刷新防止断电,数据丢失。
}
//br.write("我爱中国");
//只要用到缓冲区就得及得刷新。
br.flush();
//fe.close();
//关闭缓冲区就是关闭缓冲区的流对象。
br.close();
}
}
2.
package Nineteen;
import java.io.*;
/*字符读取流缓冲区:
* 该缓冲区提供了一个一次读一行的方法readline,方便与对文本数据的读取
* 当返回空是表示读导文本结尾。*/
public class BufferedRead2 {
public static void main(String[] args) throws IOException
{
//创建一个读取流对象和文件相关联。
FileReader fr=new FileReader("win.doc");
//为了替高效率加入缓冲技术,将字符读取流对象作为参数传递给缓冲对象的构造函数。
BufferedReader br=new BufferedReader(fr);
String line=null;
while((line=br.readLine())!=null)
{
System.out.println(line);
}
br.close();
}
}
3.
package Nineteen;
import java.io.*;
/*readline方法返回的时候只返回回车符之前的数据内容,并不返回回车符*/
public class bufferedCopy3 {
public static void main(String[] args)throws IOException
{
BufferedWriter bw=null;
BufferedReader br=null;
try
{
br=new BufferedReader(new FileReader("D:\\java\\workspace\\heima\\src\\nine\\static2.java"));//new FileReader()传一个流对象,不起名是因为,关闭时只关闭Br就行了
bw=new BufferedWriter(new FileWriter("D:\\wo.doc"));
String line=null;
while((line=br.readLine())!=null)
{
bw.write(line);
bw.newLine();
bw.flush();
}
}
catch(IOException e)
{
throw new RuntimeException("读写失败");
}
finally
{
try
{
if(br!=null)
br.close();
}
catch(IOException e)
{
throw new RuntimeException("读取关闭失败");
}
try
{
if(bw!=null)
bw.close();
}
catch(IOException e)
{
throw new RuntimeException("写入关闭失败");
}
}
}
}
4.