黑马程序员技术交流社区
标题:
关于IO中缓冲区的问题?
[打印本页]
作者:
郝强勇
时间:
2013-3-16 19:28
标题:
关于IO中缓冲区的问题?
我一直有一个疑问,就是在毕老师讲解BufferdWriter之前的时候,我们会自定义一个缓冲区将内容暂时
写到内存中进行缓存。但在讲解了BufferedWriter之后,说他有缓冲区的功能,这个跟之前我们定义的缓冲区
有什么不一样吗?这个效率具体是怎么实现的呢?
作者:
赵晓东
时间:
2013-3-16 20:27
呵呵,哥们,我也刚学到缓冲区,就我的见解来说一下吧,API中是这样写到的将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。BufferedWriter字符流缓冲区,也可以说是一个装饰类,他提供了Writer类中写入方法中所没有的,newLine方法,这个方法可以写入一个换行符
/*IO_通过缓冲区复制文本文件*/
import java.io.*;
class CopyBufDemo
{
public static void main(String[] args)
{
BufferedReader bufr = null;
BufferedWriter bufw = null;
String len = null;
try
{
bufr = new BufferedReader(new FileReader("CopyTest.java"));
bufw = new BufferedWriter(new FileWriter("CopyTest_Copy.txt"));
while ((len = bufr.readLine()) != null) //一次读取一行的内容
{
bufw.write(len); //写入
bufw.newLine(); //换行
bufw.flush(); //刷新缓冲区
}
}
catch (IOException e)
{
System.out.println(e.toString());
}
finally
{
try
{
if(bufr != null)
bufr.close();
}
catch (IOException e)
{
System.out.println(e.toString());
}
try
{
if(bufw != null)
bufw.close();
}
catch (IOException e)
{
System.out.println(e.toString());
}
}
}
}
复制代码
作者:
赵晓东
时间:
2013-3-16 20:28
呵呵,哥们,我也刚学到缓冲区,就我的见解来说一下吧,API中是这样写到的将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。BufferedWriter字符流缓冲区,也可以说是一个装饰类,他提供了Writer类中写入方法中所没有的,newLine方法,这个方法可以写入一个换行符
/*IO_通过缓冲区复制文本文件*/
import java.io.*;
class CopyBufDemo
{
public static void main(String[] args)
{
BufferedReader bufr = null;
BufferedWriter bufw = null;
String len = null;
try
{
bufr = new BufferedReader(new FileReader("CopyTest.java"));
bufw = new BufferedWriter(new FileWriter("CopyTest_Copy.txt"));
while ((len = bufr.readLine()) != null) //一次读取一行的内容
{
bufw.write(len); //写入
bufw.newLine(); //换行
bufw.flush(); //刷新缓冲区
}
}
catch (IOException e)
{
System.out.println(e.toString());
}
finally
{
try
{
if(bufr != null)
bufr.close();
}
catch (IOException e)
{
System.out.println(e.toString());
}
try
{
if(bufw != null)
bufw.close();
}
catch (IOException e)
{
System.out.println(e.toString());
}
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2