0
我在Windows 7上,我的Formatter对象只想写出大约2500个值来存档。之后,文件在数字中间突然中断,之后就是空的。我知道while循环执行完整的4200次,iter.next()为所有这些迭代返回正确的值,因为我将它们打印出来。尽管如此,实际写入文件部分在大约第2500次写出后才结束。有任何想法吗?谢谢! -Ryan格式化程序格式化方法的输出限制?
try{...
output = new Formatter("C:\\users\\ryans\\desktop\\IntelMA.tsv");
...
}
...
Iterator<Double> iter = MA.getMovingAverage().iterator();
while (iter.hasNext()){
output.format("%f\t", iter.next());
}
感谢您的回复! while实际上并不在try块中,所以我不能使用finally,但我添加了一个output.close();在while循环之后。它仍然做同样的事情 - 约2500后切断。 – RyanS 2012-04-18 22:31:40
@RyanS:你可以(也应该)*把它放在try块中。 (只是尝试/最后)。如果仍无法使用,请发布简短但完整的程序来证明问题。你从哪里得到数据应该没有关系(假设没有例外情况发生),所以我会开始循环和打印索引,或者随机数字。任何事情都可以简单地重现它。 – 2012-04-19 06:06:24
今天早上我又试了一次,这次你的建议很有用(不知道为什么昨天不行 - 用户错误很可能)。非常感谢你。我永远不会想到这一点。我将继续将所有使用Formatter对象的代码放入try块。有这样的资源来帮助我学习是很了不起的。 – RyanS 2012-04-19 15:57:01