我知道通常應該在finally
中關閉Java中的streams
和formatters
(特別是java.util.Formatter
)以避免資源泄漏。但是在這裏我有點困惑,因爲我看到很多例子,人們在沒有任何最終塊的情況下關閉它,尤其是格式化程序。這個問題可能對某些人沒有意義,但我想確定我在問什麼。 java2s.com和tutorialspoint.com的一些示例,其中格式化程序只是在沒有任何塊的情況下關閉。
請認爲我的問題只適用於Java 6及更低版本,因爲我知道如何使用資源。如何最終關閉Java格式化程序?
例子:
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);
}
如果您提供一個示例而不是鏈接到大型代碼庫網站,會更好。你關心哪種格式化器?有很多格式化程序類可以用於各種目的,所以如果縮小範圍會有所幫助。 – micker
@感謝您的通知,我已經更新了更多的細節問題。 – karate