From 8200fc2a987d97df01e5479ee42b174f8ab20742 Mon Sep 17 00:00:00 2001 From: snowleo Date: Thu, 27 Oct 2011 00:08:48 +0200 Subject: Close file input on exception --- .../update/chat/AbstractFileCommand.java | 40 +++++++++++++--------- 1 file changed, 24 insertions(+), 16 deletions(-) (limited to 'EssentialsUpdate') diff --git a/EssentialsUpdate/src/com/earth2me/essentials/update/chat/AbstractFileCommand.java b/EssentialsUpdate/src/com/earth2me/essentials/update/chat/AbstractFileCommand.java index 58bbb25b0..824383285 100644 --- a/EssentialsUpdate/src/com/earth2me/essentials/update/chat/AbstractFileCommand.java +++ b/EssentialsUpdate/src/com/earth2me/essentials/update/chat/AbstractFileCommand.java @@ -33,29 +33,37 @@ public abstract class AbstractFileCommand implements Command throw new IOException("Server log not found."); } final FileInputStream fis = new FileInputStream(logFile); - if (logFile.length() > 1000000) + try { - fis.skip(logFile.length() - 1000000); + if (logFile.length() > 1000000) + { + fis.skip(logFile.length() - 1000000); + } + return new BufferedReader(new InputStreamReader(fis)); + } + catch (IOException ex) + { + fis.close(); + throw ex; } - return new BufferedReader(new InputStreamReader(fis)); } - + protected BufferedReader getPluginConfig(final String pluginName, final String fileName) throws IOException { final File configFolder = new File(plugin.getDataFolder().getAbsoluteFile().getParentFile(), pluginName); - if (!configFolder.exists()) - { - throw new IOException(pluginName+" plugin folder not found."); - } - final File configFile = new File(configFolder, fileName); - if (!configFile.exists()) - { - throw new IOException(pluginName+" plugin file "+fileName+" not found."); - } - return new BufferedReader(new InputStreamReader(new FileInputStream(configFile), UTF8)); - + if (!configFolder.exists()) + { + throw new IOException(pluginName + " plugin folder not found."); + } + final File configFile = new File(configFolder, fileName); + if (!configFile.exists()) + { + throw new IOException(pluginName + " plugin file " + fileName + " not found."); + } + return new BufferedReader(new InputStreamReader(new FileInputStream(configFile), UTF8)); + } - + protected String uploadToPastie(final StringBuilder input) throws IOException { if (input.length() > 15000) -- cgit v1.2.3