@@ -485,39 +485,39 @@ public void substitute(UnaryOperator<String> callback) {
485485 * @throws IOException if an error occurs
486486 */
487487 protected void saveLayout (Writer out , boolean typed ) throws IOException {
488- PropertiesWriter writer = new PropertiesWriter (out , typed );
489- if (header != null ) {
490- for (String s : header ) {
491- writer .writeln (s );
492- }
493- }
494-
495- for (String key : storage .keySet ()) {
496- Layout l = layout .get (key );
497- if (l != null && l .getCommentLines () != null ) {
498- for (String s : l .getCommentLines ()) {
488+ try (PropertiesWriter writer = new PropertiesWriter (out , typed )) {
489+ if (header != null ) {
490+ for (String s : header ) {
499491 writer .writeln (s );
500492 }
501493 }
502- if (l != null && l .getValueLines () != null ) {
503- for (int i = 0 ; i < l .getValueLines ().size (); i ++) {
504- String s = l .getValueLines ().get (i );
505- if (i < l .getValueLines ().size () - 1 ) {
506- writer .writeln (s + "\\ " );
507- } else {
494+
495+ for (String key : storage .keySet ()) {
496+ Layout l = layout .get (key );
497+ if (l != null && l .getCommentLines () != null ) {
498+ for (String s : l .getCommentLines ()) {
508499 writer .writeln (s );
509500 }
510501 }
511- } else {
512- writer .writeProperty (key , storage .get (key ));
502+ if (l != null && l .getValueLines () != null ) {
503+ for (int i = 0 ; i < l .getValueLines ().size (); i ++) {
504+ String s = l .getValueLines ().get (i );
505+ if (i < l .getValueLines ().size () - 1 ) {
506+ writer .writeln (s + "\\ " );
507+ } else {
508+ writer .writeln (s );
509+ }
510+ }
511+ } else {
512+ writer .writeProperty (key , storage .get (key ));
513+ }
513514 }
514- }
515- if ( footer != null ) {
516- for ( String s : footer ) {
517- writer . writeln ( s );
515+ if ( footer != null ) {
516+ for ( String s : footer ) {
517+ writer . writeln ( s );
518+ }
518519 }
519520 }
520- writer .flush ();
521521 }
522522
523523 /**
0 commit comments