diff options
author | André Klitzing <aklitzing@gmail.com> | 2018-03-02 22:01:22 +0100 |
---|---|---|
committer | André Klitzing <aklitzing@gmail.com> | 2018-05-04 13:08:31 +0000 |
commit | 5269f6d55e4cb804e0316f2239916f83001a7379 (patch) | |
tree | 47accb9c59039b668ac9b4e47c38752d0c0c57cc /src/android | |
parent | ef242e0b34df0111a6f1306550acef9fde0ec1c3 (diff) |
Avoid to fail to close stream on exception
Move .close() to finally block.
Found by spotbugs.
Change-Id: I1d11f52c79e805082f05801e4ef0ec94c6dc4e6e
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Diffstat (limited to 'src/android')
-rw-r--r-- | src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java | 58 |
1 files changed, 43 insertions, 15 deletions
diff --git a/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java b/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java index 424bf45c53..531802959c 100644 --- a/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java +++ b/src/android/java/src/org/qtproject/qt5/android/bindings/QtLoader.java @@ -355,12 +355,21 @@ public abstract class QtLoader { destinationFile.createNewFile(); AssetManager assetsManager = m_context.getAssets(); - InputStream inputStream = assetsManager.open(source); - OutputStream outputStream = new FileOutputStream(destinationFile); - copyFile(inputStream, outputStream); + InputStream inputStream = null; + OutputStream outputStream = null; + try { + inputStream = assetsManager.open(source); + outputStream = new FileOutputStream(destinationFile); + copyFile(inputStream, outputStream); + catch (Exception e) { + e.printStackTrace(); + } finally { + if (inputStream != null) + inputStream.close(); - inputStream.close(); - outputStream.close(); + if (outputStream != null) + outputStream.close(); + } } private static void createBundledBinary(String source, String destination) @@ -377,12 +386,21 @@ public abstract class QtLoader { destinationFile.createNewFile(); - InputStream inputStream = new FileInputStream(source); - OutputStream outputStream = new FileOutputStream(destinationFile); - copyFile(inputStream, outputStream); + InputStream inputStream = null; + OutputStream outputStream = null; + try { + inputStream = new FileInputStream(source); + outputStream = new FileOutputStream(destinationFile); + copyFile(inputStream, outputStream); + catch (Exception e) { + e.printStackTrace(); + } finally { + if (inputStream != null) + inputStream.close(); - inputStream.close(); - outputStream.close(); + if (outputStream != null) + outputStream.close(); + } } private boolean cleanCacheIfNecessary(String pluginsPrefix, long packageVersion) @@ -391,12 +409,15 @@ public abstract class QtLoader { long cacheVersion = 0; if (versionFile.exists() && versionFile.canRead()) { + DataInputStream inputStream = null; try { - DataInputStream inputStream = new DataInputStream(new FileInputStream(versionFile)); + inputStream = new DataInputStream(new FileInputStream(versionFile)); cacheVersion = inputStream.readLong(); - inputStream.close(); } catch (Exception e) { e.printStackTrace(); + } finally { + if (inputStream != null) + inputStream.close(); } } @@ -431,9 +452,16 @@ public abstract class QtLoader { versionFile.createNewFile(); - DataOutputStream outputStream = new DataOutputStream(new FileOutputStream(versionFile)); - outputStream.writeLong(packageVersion); - outputStream.close(); + DataOutputStream outputStream = null; + try { + outputStream = new DataOutputStream(new FileOutputStream(versionFile)); + outputStream.writeLong(packageVersion); + catch (Exception e) { + e.printStackTrace(); + } finally { + if (outputStream != null) + outputStream.close(); + } } { |