A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

import java.io.*;
class CopyText
{
        public static void main(String[] args)
        {
                FileWriter fw=null;
                FileReader fr=null;
                try
                {   
                        fw= new FileWriter("D:\\demo.txt");
                        fr= new FileReader("C:\\FileWriterDemo.txt");
                       
                        char[] buf=new char[1024];
                        int len=0;
                        while ((len=fr.read(buf))!=-1)
                        {                            
                                 fw.write(buf,0,len);       
                        }
                       
                }
                catch (Exception e)
                {
                        throw new RuntimeException("读写失败");
                }
                finally
                {
                        try
                        {
                                if(fr!=null)
                                        fr.close();
                        }
                        catch (Exception ex)
                        {
                                System.out.println(ex.toString());
                        }
                        try
                        {
                                if(fw!=null)
                                        fw.close();
                        }
                        catch (Exception exc)
                        {
                                System.out.println(exc.toString());
                        }
                }
        }
}

9 个回复

倒序浏览
都一样, 但是我习惯先 创建 输入流,再创建输出流。 关闭也是同样顺序。
回复 使用道具 举报
刘健 黑马帝 2011-12-20 22:52:33
藤椅
先输入,后输出,先开启的先关闭,遵循这个原则就不会乱了
回复 使用道具 举报
这个没有明确的定义,但通常都是先创建输入流对象,再创建输出流对象!关闭的时候也一样,但是如果用到了缓冲区的话,就只关闭缓冲区对象就行了,因为关闭缓冲区,就是在关闭缓冲区中的流对象。这个问题毕老师的视频里提到过的。
回复 使用道具 举报
一般来说,要复制文件是先读取一目标文件,再写到另一个副本里。这样来看,先创建输入流,再创建输出流。虽然没什么硬性的要求,但这样编程思路不会乱。关闭的时间,应该按照先开启的后关闭,后开启的先关闭,这样保证了数据的完整性。
回复 使用道具 举报
{:soso_e100:}
回复 使用道具 举报
陈帅雷 黑马帝 2011-12-22 22:39:07
7#
输入和输出流先创建哪个都行,先关闭哪个也是都行,这两个之间没有直接的联系。
回复 使用道具 举报
张绍成 黑马帝 2011-12-23 20:25:30
8#
  输入和输出流先创建哪个都行,先关闭哪个也是都行,这两个之间没有太直接的联系。
为了 看起来跟加清晰,开始按照文件读取,存储的先后顺序来创建。和关闭。
回复 使用道具 举报
颜宗茂 黑马帝 2011-12-25 22:27:50
9#
一般都是把输入的关了吧,close()时流会收到结束标志,使输出收到结束标志,再关输出流。
回复 使用道具 举报
一般情况下是:先打开的后关闭,后打开的先关闭
另一种情况:看依赖关系,如果流a依赖流b,应该先关闭流a,在关闭流b
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马