| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1938 人关注过本帖
标题:IO输入流中利用BufferedReader(缓存读取)以及BufferedWriter(缓存写入) ...
只看楼主 加入收藏
mudi
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2018-12-19
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:2 
IO输入流中利用BufferedReader(缓存读取)以及BufferedWriter(缓存写入)进行文本复制 的问题
程序代码:
以下红色部分的问题能否有前辈可以指点下问题原因呢?非常感谢~~
@Test
    public void testBufferedReader() {
        BufferedReader br = null;
        BufferedWriter wr = null;
        try {
            File file = new File("file.txt");
            File file3 = new File("file3.txt");
            FileReader fr = new FileReader(file);
            FileWriter fw = new FileWriter(file3);
            br = new BufferedReader(fr);
            wr = new BufferedWriter(fw);
           

            String str;
            while((str = br.readLine()) != null) {
                wr.write(str);
                /*wr.flush();*///问题点:当我不添加wr.flush();语句时,程序就不能把file.txt中的内容复制到file3.txt当中;
            }
           

        } catch (IOException e) {
            e.printStackTrace();
        }finally {
       

        try {
            br.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        }
    }
搜索更多相关主题的帖子: 缓存 复制 File new txt 
2019-01-09 18:02
幻紫灵心
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:山咔咔里面
等 级:贵宾
威 望:53
帖 子:396
专家分:2640
注 册:2018-3-30
收藏
得分:10 
BufferedWriter是带缓冲区的,你写了之后是先存在缓冲区里面,缓冲区满的时候再一次性写入输出流的。
你在函数最后flush一下就好。

saber,别哭.
2019-01-09 18:31
mudi
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2018-12-19
收藏
得分:0 
回复 2楼 幻紫灵心
flush是清空缓存的操作,把前面的清楚之后才能再次写入。感谢!!
2019-01-09 19:45
快速回复:IO输入流中利用BufferedReader(缓存读取)以及BufferedWriter(缓存写 ...
数据加载中...
 
   



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

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