Ich weiß, dass normalerweise streams
und formatters
(besonders java.util.Formatter
) in Java in finally
geschlossen werden sollte, um Ressourcenlecks zu vermeiden. Aber hier bin ich ein wenig verwirrt, weil ich viele Beispiele sehe, wo Leute es einfach schließen, ohne irgendeinen Block zu blockieren, besonders die Formatierer. Diese Frage mag für einige Leute keinen Sinn ergeben, aber ich möchte sicher sein, dass ich mich danach erkundige. Einige Beispiele aus java2s.com und aus tutorialspoint.com, wo die Formatierer nur ohne Block geschlossen sind.
Bitte beachten Sie, dass meine Frage nur für Java 6 und niedrigere Versionen gilt, weil ich über Versuche mit Ressourcen weiß.Wie schließe ich Java Formatter, endlich oder nicht?
Beispiel:
public static void main(String[] args) {
StringBuffer buffer = new StringBuffer();
Formatter formatter = new Formatter(buffer, Locale.US);
// format a new string
String name = "from java2s.com";
formatter.format("Hello %s !", name);
// print the formatted string
System.out.println(formatter);
// close the formatter
formatter.close();
// attempt to access the formatter results in exception
System.out.println(formatter);
}
Es wäre besser, wenn Sie ein Beispiel angeben, statt auf große Codebasis-Websites zu verweisen. Um welche Arten von Formatierern geht es dir? Es gibt viele Formatierungsklassen für alle möglichen Zwecke, daher wäre es hilfreich, wenn Sie das eingrenzen. – micker
@micker danke für die Kündigung, ich habe die Frage mit weiteren Details aktualisiert. – karate