首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BufferedWriter覆盖本身

BufferedWriter覆盖本身
EN

Stack Overflow用户
提问于 2013-10-22 15:34:19
回答 2查看 100关注 0票数 0

我想读取一个文件并创建一个文件的副本,但是我的代码只写文件中的最后一行。如何使每当我调用write()时,它会写到一个新行。我想为复制创建一个新文件,这样我就不能将true添加到FileWriter构造函数中。

这是我的密码:

代码语言:javascript
复制
    //Create file reader
    BufferedReader iReader = new BufferedReader(new FileReader(args[1]));

    //Create file writer
    BufferedWriter oWriter = new BufferedWriter(new FileWriter(args[2], true));

    String strLine;
    //reading file
    int iterate = 0;
    while((strLine = iReader.readLine()) != null)  {
        instructions[iterate] = strLine;
    }

    //creating duplicate
    for(int i = 0; i < instructions.length; i++) {
        if(instructions[i] != null) {
            oWriter.write(instructions[i]);
            oWriter.newLine();
        }  else {
            break;
        }
    }

    try {
        iReader.close();
        oWriter.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-22 15:36:44

您没有递增iterate

代码语言:javascript
复制
 int iterate = 0;
 while((strLine = iReader.readLine()) != null)
{
    instructions[iterate] = strLine;
    iterate++;
}
票数 3
EN

Stack Overflow用户

发布于 2013-10-22 15:36:35

您没有更新instructions数组的索引。

此外,现在还不清楚为什么要以这种方式复制文件;为什么还要一行行地复制文件呢?或者只使用实用程序类,比如。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19522253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档