diff --git a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/util/FileHelper.java b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/util/FileHelper.java
index 7a08377..626915a 100644
--- a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/util/FileHelper.java
+++ b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/util/FileHelper.java
@@ -119,23 +119,24 @@
 
 	/** private method to convert a file to byte array. */
 	public byte[] convertFileToByteArray(File f) throws Exception {
-		ByteArrayOutputStream ous = null;
-		InputStream ios = null;
-		try {
+
+		byte[] data = null;
+
+		try (InputStream ios = new FileInputStream(f)) {
+
+			ByteArrayOutputStream ous = null;
+
 			byte[] buffer = new byte[4096];
 			ous = new ByteArrayOutputStream();
-			ios = new FileInputStream(f);
+
 			int read = 0;
-			while ((read = ios.read(buffer)) != -1)
+			while ((read = ios.read(buffer)) != -1) {
 				ous.write(buffer, 0, read);
-			return ous.toByteArray();
-		} finally {
-			if (ous != null)
-				ous.close();
+			}
 
-			if (ios != null)
-				ios.close();
-
+			data = ous.toByteArray();
 		}
+
+		return data;
 	}
 }
diff --git a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/util/FileStreamingOutput.java b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/util/FileStreamingOutput.java
index 78ff076..ed233c3 100644
--- a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/util/FileStreamingOutput.java
+++ b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/util/FileStreamingOutput.java
@@ -17,20 +17,15 @@
 	}
 
 	@Override
-	public void write(OutputStream output) throws IOException, WebApplicationException {
-		FileInputStream input = new FileInputStream(file);
-		try {
+	public void write(OutputStream output) throws IOException {
+
+		try (FileInputStream input = new FileInputStream(file)) {
 			int bytes;
 			while ((bytes = input.read()) != -1) {
 				output.write(bytes);
 			}
 		} catch (Exception e) {
 			throw new WebApplicationException(e);
-		} finally {
-			if (output != null)
-				output.close();
-			if (input != null)
-				input.close();
 		}
 	}
 
