Ich habe eine Liste von OutputStream
zu behandeln, und ich weiß, wenn ich nur einen braucht, kann ich sicherstellen, dass es geschlossen try-with-resources
Muster verwenden, wie:Wie schließe ich eine Liste von OutputStream in Java?
try(OutputStream os = new ByteArrayOutputStream()) {
do something...
} catch (IOException e) {
do something...
}
Aber was, wenn es eine Liste von ihnen ? Kann ich einfach die Liste (ArrayList
oder normales Array) in die Klammern hinter try
setzen?
Es gibt keine explizite Unterstützung für 'List' in Try-with-Resource-Anweisungen. Wenn Sie die 'try (...) {...}' -Syntax wirklich verwenden möchten, müssen Sie Ihr eigenes 'AutoCloseable' rollen, das eine Liste von' AutoCloseables' enthält. Etwas wie [dies] (http://pastebin.com/8MtLFLu2) könnte funktionieren. – aioobe