黑马程序员技术交流社区

标题: 分享一个通过缓冲区复制文件代码 [打印本页]

作者: 梦里听传说    时间: 2014-8-30 13:07
标题: 分享一个通过缓冲区复制文件代码
import java.io.*;
class hcqfz
{
       
        public static void main(String[] args)
        {
                BufferedReader dq=null;
                BufferedWriter xr=null;
                try
                {
                        dq=new BufferedReader(new FileReader("d://JAVA知识整理.txt"));
                        xr=new BufferedWriter(new FileWriter("d://JAVA知识整理COPY.txt"));
                        String n=null;
                        while((n=dq.readLine())!=null)
                        {
                               
                                xr.write(n);
                                xr.newLine();
                                xr.flush();
                               
                        }
                }
                catch (IOException e)
                {
                        throw new RuntimeException("读写异常");
                }
                finally
                {
                        try
                        {
                                xr.close();
                                dq.close();
                        }
                        catch (IOException e)
                        {
                                System.out.println("异常");
                        }
                       
                }
        }

}



作者: dftgg    时间: 2014-8-30 16:53
顶一个!!!!!!!!
作者: 【灰太狼】    时间: 2014-8-30 17:10
不错,给你指出一点建议把。
1.导包,尽量不要用.*,除非你也不知道具体用到了哪些包,如果你清楚的知道,最好挨个写上,提高效率。
2.用写缓冲区好像可以不用写flash方法把,另外如果我没记错的话,newLine方法就可以刷新,这个记不清了,可以看一下源码。
3.finally里释放流资源的时候,可以判断一下流是不是为空,如果你在创建流的时候,就没有找到文件,那么这个流指针你就没创建成功,就不用释放资源,所以建议在finally里先判断流是不是空,是空就不用close,不是空再close。
4.小问题了,变量和类名尽量见名知意,类名首字母要大写(XxxYyyZzz),这是习惯。
作者: 梦里听传说    时间: 2014-8-30 17:43
【灰太狼】 发表于 2014-8-30 17:10
不错,给你指出一点建议把。
1.导包,尽量不要用.*,除非你也不知道具体用到了哪些包,如果你清楚的知道, ...

谢谢,学习了
作者: paozhuanyinyu    时间: 2014-8-30 17:59
小建议,写点注释
作者: 曾小贤OL    时间: 2014-8-30 18:29
看我头像。。。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2