我无法打印file.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();
}
}
答案 0 :(得分:0)
如果不运行此操作,我会注意到您通过检索它来丢弃第一行,然后在第一次运行条件时检索另一行。
另外,如果您要将每一行写入输出文件,那么您可能希望在while循环之外移动bw的初始化。至少你想使用FileWriter(String,boolean)构造函数而不是创建一个新文件。
答案 1 :(得分:0)
不要在循环中创建新的BufferedWriter,这是一个糟糕的设计。
你可以尝试在关闭之前放入bw.flush()。
bw.close()隐式调用flush,但是我遇到了类似的问题,我不得不明确地调用flush来工作。