这是我们毕老师课上的一点代码,有一点不是很明白,其中已经用红色字体标记,有没有给我讲解一下呢!!
package nineteen;
/*
* 利用缓冲区拷贝一个文件,
* */
import java.io.*;
public class BufferedReaderWriterTestDemo {
public static void sop(Object obj)
{
System.out.println(obj);
}
public static void main(String[] args)
{
//这里我们建立空的引用
BufferedReader bufr=null;
BufferedWriter bufw=null;
try
{
//这里我们直接利用new关键字,创建读写流对象,使用参数传递的方式进行相关联
bufr=new BufferedReader(new FileReader("d:\\Eclipsetest\\zhaoyujie.txt"));
bufw=new BufferedWriter(new FileWriter("d:\\Eclipsetest\\mmd.txt"));
String line=null;
//这里我们调用readLine和newLine进行文件的读取和写入
while((line=bufr.readLine())!=null)
{
bufw.write(line);
bufw.newLine();
//这里必要的刷新,使得我们可以避免其他事物的中断而导致的文件丢失
bufw.flush();
}
}
catch(IOException e)
{
throw new RuntimeException("文件读写失败");
}
finally
{
try
{
if(bufr != null) 这里的缓冲区不为null,就关闭??按照我们正常的理解,不应该是缓冲区中没有数据才应该关闭的嘛1!
bufr.close();
}
catch(Exception e)
{
throw new RuntimeException("读取关闭失败");
}
try
{
//这里的判断有点理解不了。
if(bufw !=null)
bufw.close();
}
catch(Exception e)
{
throw new RuntimeException("写入关闭失败");
}
}
}
}
|