标题:缓冲流写不了文件,求指点!
只看楼主
a4811
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:100
专家分:107
注 册:2012-12-20
结帖率:100%
已结贴  问题点数:20 回复次数:2 
缓冲流写不了文件,求指点!
程序代码:
//缓冲流对文件进行读写
import *;
public class Example12_7{
    public static void main(String args[]){
        File file=new File("sb3.txt");
        String content[]={"大爷好","二爷我不好","三爷最近我心里烦","四爷我最近手头紧"};
        String content_2[]=new String[content.length];
        try{
            FileWriter outOne=new FileWriter(file);
            BufferedWriter outTwo=new BufferedWriter(outOne);
            for(String s:content){
                System.out.println(s);
                outTwo.write(s);  //conetent内容没有被写入文件?哪里出问题了?
                outTwo.newLine();
            }
            outOne.close();
            outTwo.close();

            FileReader inOne=new FileReader(file);
            BufferedReader inTwo=new BufferedReader(inOne);
            for(int i=0;i<content.length;i++){
                content_2[i]=inTwo.readLine();
                System.out.println(content_2[i]);
            }
            inOne.close();
            inOne.close();
        }
        catch(IOException e){};
    }
}




[ 本帖最后由 a4811 于 2013-1-26 09:28 编辑 ]
搜索更多相关主题的帖子: content file 
2013-01-26 09:27
shellingford
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:19
帖 子:228
专家分:1348
注 册:2010-8-9
得分:20 
不知道你怎么判断没有写入的,因为运行一下后已经写入文件了。
代码里面有几个错误的地方
outOne.close();
outTwo.close();
已经被关闭的流是无法再次被关闭的。下面的inOne.close();也是 关了2次。
outTwo 关闭的时候会自动调用outOne的关闭,所以不需要关闭2次,第二次关闭会抛出一个已经关闭的错误。

有个习惯不好的地方,catch部分没有任何代码,这样即便出现了错误你也不知道,捕获后又不做任何处理。建议可以写日志或者输出到控制台。


程序代码:
    public static void main(String[] args) {
            File file=new File("sb3.txt");
            String content[]={"大爷好","二爷我不好","三爷最近我心里烦","四爷我最近手头紧"};
            String content_2[]=new String[content.length];
            try{
                FileWriter outOne=new FileWriter(file);
                BufferedWriter outTwo=new BufferedWriter(outOne);
                for(String s:content){
                    System.out.println(s);
                    outTwo.write(s);  //conetent内容没有被写入文件?哪里出问题了?
                    outTwo.newLine();
                }
                outTwo.close();

                FileReader inOne=new FileReader(file);
                BufferedReader inTwo=new BufferedReader(inOne);
                for(int i=0;i<content.length;i++){
                    content_2[i]=inTwo.readLine();
                    System.out.println(content_2[i]);
                }
                inOne.close();
            }
            catch(IOException e){
                e.printStackTrace();
            };
    }




2013-01-26 12:53
a4811
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:100
专家分:107
注 册:2012-12-20
得分:0 
回复 2楼 shellingford
感谢。
2013-01-26 13:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-397678-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.714139 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved