【发布时间】:2011-08-13 03:53:01
【问题描述】:
我有这个 ArrayList 文件
for(File file : files){
InputStream in = FileInputStream(file);
// process each file and save it to file
OutputStream out = FileOutputStream(file);
try{
} finally {
in.close();
out.close();
}
}
性能真的很慢,因为每个循环都有一个输入/输出 close(),有没有更好的方法来做到这一点?我试图将输出流置于循环之外,但它不起作用。
【问题讨论】:
-
hmm...但是当同时读取多个文件时它至少应该更快...在不同的线程上...如果您正在阅读很多文件..那么这应该是有道理的跨度>
-
(如果
new FileOutputStream抛出异常会发生什么情况(可能是FileNotFoundException,但也可能是未经检查的异常)?in.close();也是如此。您希望每个资源有一个try-finally.)
标签: java inputstream fileoutputstream