diff --git a/src/magic/data/CubeDefinitions.java b/src/magic/data/CubeDefinitions.java index 3fa69703e4..89ae8de596 100644 --- a/src/magic/data/CubeDefinitions.java +++ b/src/magic/data/CubeDefinitions.java @@ -97,9 +97,12 @@ public class CubeDefinitions { final String name=file.getName(); final int index=name.indexOf(CUBE_FILE_EXTENSION); - final InputStream fileInputStream=new FileInputStream(file); - loadCubeDefinition(name.substring(0,index),fileInputStream); - fileInputStream.close(); + final InputStream fileInputStream=new FileInputStream(file); + try { + loadCubeDefinition(name.substring(0,index),fileInputStream); + } finally { + fileInputStream.close(); + } } } diff --git a/src/magic/data/GeneralConfig.java b/src/magic/data/GeneralConfig.java index fddf99e18a..94d82388cd 100644 --- a/src/magic/data/GeneralConfig.java +++ b/src/magic/data/GeneralConfig.java @@ -272,13 +272,18 @@ public class GeneralConfig { public void load() { try { final Properties properties=new Properties(); - properties.load(new FileInputStream(getConfigFile())); + final FileInputStream fis = new FileInputStream(getConfigFile()); + try { + properties.load(fis); + } finally { + fis.close(); + } load(properties); } catch (final IOException ex) { System.err.println("ERROR! unable to load " + getConfigFile()); System.err.println(ex.getMessage()); ex.printStackTrace(); - } + } } public void save(final Properties properties) { @@ -307,7 +312,12 @@ public class GeneralConfig { try { final Properties properties=new Properties(); save(properties); - properties.store(new FileOutputStream(getConfigFile()),"General configuration"); + final FileOutputStream fos = new FileOutputStream(getConfigFile()); + try { + properties.store(fos,"General configuration"); + } finally { + fos.close(); + } System.err.println("Saved general config"); } catch (final IOException ex) { System.err.println("ERROR! unable to save general config"); diff --git a/src/magic/data/IconImages.java b/src/magic/data/IconImages.java index b4a3a49b50..032c28fd47 100644 --- a/src/magic/data/IconImages.java +++ b/src/magic/data/IconImages.java @@ -268,14 +268,17 @@ public class IconImages { final byte data[]=new byte[1<<16]; int size=0; final InputStream inputStream=IconImages.class.getResourceAsStream("icons/"+name); - while (true) { - - final int len=inputStream.read(data,size,data.length-size); - if (len<0) { - break; - } - size+=len; - } + try { + while (true) { + final int len=inputStream.read(data,size,data.length-size); + if (len<0) { + break; + } + size+=len; + } + } finally { + inputStream.close(); + } return new ImageIcon(Arrays.copyOf(data,size)); } catch (final Throwable th) { return MISSING2; diff --git a/src/magic/data/TournamentConfig.java b/src/magic/data/TournamentConfig.java index 2ab39ea57e..f6f22b3cfd 100644 --- a/src/magic/data/TournamentConfig.java +++ b/src/magic/data/TournamentConfig.java @@ -169,7 +169,12 @@ public class TournamentConfig { public void load() { try { final Properties properties=new Properties(); - properties.load(new FileInputStream(getConfigFile())); + final FileInputStream fis = new FileInputStream(getConfigFile()); + try { + properties.load(fis); + } finally { + fis.close(); + } load(properties); System.err.println("Loaded tournament config"); } catch (final IOException ex) { @@ -193,7 +198,12 @@ public class TournamentConfig { try { final Properties properties=new Properties(); save(properties); - properties.store(new FileOutputStream(getConfigFile()),"Tournament configuration"); + final FileOutputStream fos = new FileOutputStream(getConfigFile()); + try { + properties.store(fos,"Tournament configuration"); + } finally { + fos.close(); + } System.err.println("Saved tournament config"); } catch (final IOException ex) { System.err.println("ERROR! Unable to save tournament config");