【发布时间】:2014-03-10 22:12:23
【问题描述】:
我正在尝试从文件中读取文本,执行一些操作并将结果输出到不同的文件中,但由于某种原因,它只打印了一行结果。
Scanner file = new Scanner(new FileInputStream("/.../file.txt"));
PrintWriter p = new PrintWriter(new FileWriter("/.../output.txt"));
int count = 0;
while (file.hasNextLine())
{
String s = file.nextLine();
count++;
try
{
if(s.contains("#AVFC")){
p.printf("There are %d words on this line ", s.split("\\s").length-1);
p.println(count);
p.close();
}
}
catch(Exception ex){
ex.printStackTrace();
}
}
file.close();
这是输出;
There are 4 words on this line 1
但输出应该是:
There are 4 words on this line 1
There are 10 words on this line 13
There are 8 words on this line 16
【问题讨论】:
-
这里有一个读写文件的工作示例:stackoverflow.com/a/22074145/3315914
标签: java printwriter