【问题标题】:Input from file and saving output in file从文件输入并将输出保存在文件中
【发布时间】:2015-06-16 20:27:48
【问题描述】:

我无法打印文件中的所有输出。BufferedWriter 无法正常工作。将程序的输出保存在文件中是什么错误。

public class delete {

    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub

        int alphabet=0;
        char ch;
        int n=0; 
        String line;        
        BufferedReader br = new BufferedReader(new FileReader("InputFileLocation"));
        line= br.readLine();
        while ((line = br.readLine()) != null) {
              for(int i=0;i<line.length();i++){

                  ch=line.charAt(i);
                            if(ch=='a')
                                alphabet ++;
              }

                            BufferedWriter bw = new BufferedWriter(new FileWriter("OutputFileLocation"));
                            n++;    
                            System.out.println("case#"+n+":"+alphabet);
                            bw.write(String.valueOf(alphabet));
                            bw.close();
                            alphabet=0;

        }
        br.close();

    }
}

【问题讨论】:

    标签: java file java-io


    【解决方案1】:

    如果不运行它,我注意到您通过检索第一行来丢弃它,然后在您的条件的第一次运行中检索另一行。

    另外,如果您将每一行都写入输出文件,那么您可能希望将 bw 的初始化移到 while 循环之外。至少你想使用 FileWriter(String, boolean) 构造函数而不是创建一个新文件。

    【讨论】:

      【解决方案2】:

      不要在循环中创建新的 BufferedWriter,这是一个糟糕的设计。

      您可以尝试在关闭它之前放置 bw.flush()。

      bw.close() 隐式调用flush,但我有类似的问题,我必须显式调用flush才能工作。

      【讨论】:

        猜你喜欢
        • 2019-02-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-28
        • 1970-01-01
        • 2022-11-25
        • 2013-04-23
        相关资源
        最近更新 更多