Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/OsmFileCacheTileLoader.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/OsmFileCacheTileLoader.java	(revision 30426)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/OsmFileCacheTileLoader.java	(revision 30427)
@@ -261,5 +261,4 @@
 
         protected boolean loadTileFromFile() {
-            FileInputStream fin = null;
             try {
                 tileFile = getTileFile();
@@ -268,6 +267,5 @@
 
                 loadTagsFromFile();
-                if ("no-tile".equals(tile.getValue("tile-info")))
-                {
+                if ("no-tile".equals(tile.getValue("tile-info"))) {
                     tile.setError("No tile at this zoom level");
                     if (tileFile.exists()) {
@@ -276,11 +274,8 @@
                     tileFile = getTagsFile();
                 } else {
-                    fin = new FileInputStream(tileFile);
-                    try {
+                    try (FileInputStream fin = new FileInputStream(tileFile)) {
                         if (fin.available() == 0)
                             throw new IOException("File empty");
                         tile.loadImage(fin);
-                    } finally {
-                        fin.close();
                     }
                 }
@@ -297,11 +292,5 @@
                 fileTilePainted = true;
             } catch (Exception e) {
-                try {
-                    if (fin != null) {
-                        fin.close();
-                        tileFile.delete();
-                    }
-                } catch (Exception e1) {
-                }
+                tileFile.delete();
                 tileFile = null;
                 fileAge = 0;
@@ -392,10 +381,9 @@
 
         protected void saveTileToFile(byte[] rawData) {
-            try {
+            try (
                 FileOutputStream f = new FileOutputStream(tileCacheDir + "/" + tile.getZoom() + "_" + tile.getXtile()
-                        + "_" + tile.getYtile() + "." + tile.getSource().getTileType());
+                        + "_" + tile.getYtile() + "." + tile.getSource().getTileType())
+            ) {
                 f.write(rawData);
-                f.close();
-                // System.out.println("Saved tile to file: " + tile);
             } catch (Exception e) {
                 System.err.println("Failed to save tile content: " + e.getLocalizedMessage());
@@ -409,11 +397,8 @@
                 return;
             }
-            try {
-                final PrintWriter f = new PrintWriter(new OutputStreamWriter(new FileOutputStream(tagsFile),
-                        TAGS_CHARSET));
+            try (PrintWriter f = new PrintWriter(new OutputStreamWriter(new FileOutputStream(tagsFile), TAGS_CHARSET))) {
                 for (Entry<String, String> entry : tile.getMetadata().entrySet()) {
                     f.println(entry.getKey() + "=" + entry.getValue());
                 }
-                f.close();
             } catch (Exception e) {
                 System.err.println("Failed to save tile tags: " + e.getLocalizedMessage());
@@ -426,6 +411,5 @@
                     + tile.getXtile() + "_" + tile.getYtile() + ETAG_FILE_EXT);
             if (!etagFile.exists()) return;
-            try {
-                FileInputStream f = new FileInputStream(etagFile);
+            try (FileInputStream f = new FileInputStream(etagFile)) {
                 byte[] buf = new byte[f.available()];
                 f.read(buf);
@@ -444,7 +428,5 @@
             loadOldETagfromFile();
             File tagsFile = getTagsFile();
-            try {
-                final BufferedReader f = new BufferedReader(new InputStreamReader(new FileInputStream(tagsFile),
-                        TAGS_CHARSET));
+            try (BufferedReader f = new BufferedReader(new InputStreamReader(new FileInputStream(tagsFile), TAGS_CHARSET))) {
                 for (String line = f.readLine(); line != null; line = f.readLine()) {
                     final int i = line.indexOf('=');
@@ -455,5 +437,4 @@
                     tile.putValue(line.substring(0,i),line.substring(i+1));
                 }
-                f.close();
             } catch (FileNotFoundException e) {
             } catch (Exception e) {
@@ -461,5 +442,4 @@
             }
         }
-
     }
 
