From d60b064f5f90ad8bcf3cdb2be49fad0ebbc2f053 Mon Sep 17 00:00:00 2001 From: Mark Prins <1165786+mprins@users.noreply.github.com> Date: Mon, 20 Jan 2025 16:43:59 +0100 Subject: [PATCH] gebruik geen cast naar FileInputStream om class cast exception te voorkomen java.lang.ClassCastException: class sun.nio.ch.ChannelInputStream cannot be cast to class java.io.FileInputStream (sun.nio.ch.ChannelInputStream and java.io.FileInputStream are in module java.base of loader 'bootstrap') --- .../main/java/nl/b3p/brmo/bgt/loader/cli/BGTLoaderMain.java | 3 +-- .../nl/b3p/brmo/service/stripes/ControleActionBean.java | 6 ++---- brmo-taglib/src/main/java/nl/b3p/web/jsp/DownloadTag.java | 6 +++--- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/bgt-loader/src/main/java/nl/b3p/brmo/bgt/loader/cli/BGTLoaderMain.java b/bgt-loader/src/main/java/nl/b3p/brmo/bgt/loader/cli/BGTLoaderMain.java index 9e1feb7a46..1eb4399eb1 100644 --- a/bgt-loader/src/main/java/nl/b3p/brmo/bgt/loader/cli/BGTLoaderMain.java +++ b/bgt-loader/src/main/java/nl/b3p/brmo/bgt/loader/cli/BGTLoaderMain.java @@ -15,7 +15,6 @@ import static org.apache.commons.io.FileUtils.byteCountToDisplaySize; import java.io.File; -import java.io.FileInputStream; import java.io.InputStream; import java.net.URI; import java.nio.file.Files; @@ -398,7 +397,7 @@ public void loadZip( } public void loadXml(File file, BGTObjectTableWriter writer) throws Exception { - try (FileInputStream in = (FileInputStream) Files.newInputStream(file.toPath())) { + try (InputStream in = Files.newInputStream(file.toPath())) { loadInputStream(file.getName(), in, file.length(), writer); } } diff --git a/brmo-service/src/main/java/nl/b3p/brmo/service/stripes/ControleActionBean.java b/brmo-service/src/main/java/nl/b3p/brmo/service/stripes/ControleActionBean.java index ee3507333a..a9f5664935 100644 --- a/brmo-service/src/main/java/nl/b3p/brmo/service/stripes/ControleActionBean.java +++ b/brmo-service/src/main/java/nl/b3p/brmo/service/stripes/ControleActionBean.java @@ -17,8 +17,8 @@ package nl.b3p.brmo.service.stripes; import java.io.File; -import java.io.FileInputStream; import java.io.IOException; +import java.io.InputStream; import java.io.OutputStream; import java.nio.file.Files; import java.text.SimpleDateFormat; @@ -94,8 +94,7 @@ public Resolution check() { LOG.info("Afgiftelijst gecontroleerd met bestand: " + file.getFileName()); brmo.closeBrmoFramework(); - final FileInputStream fis = (FileInputStream) Files.newInputStream(response.toPath()); - try { + try (InputStream fis = Files.newInputStream(response.toPath())) { StreamingResolution res = new StreamingResolution( MimetypesFileTypeMap.getDefaultFileTypeMap().getContentType(response)) { @@ -103,7 +102,6 @@ public Resolution check() { public void stream(HttpServletResponse response) throws Exception { OutputStream out = response.getOutputStream(); IOUtils.copy(fis, out); - fis.close(); } }; String extension = "pdf"; diff --git a/brmo-taglib/src/main/java/nl/b3p/web/jsp/DownloadTag.java b/brmo-taglib/src/main/java/nl/b3p/web/jsp/DownloadTag.java index 8d7af56181..d5bd80d4ca 100644 --- a/brmo-taglib/src/main/java/nl/b3p/web/jsp/DownloadTag.java +++ b/brmo-taglib/src/main/java/nl/b3p/web/jsp/DownloadTag.java @@ -17,9 +17,10 @@ package nl.b3p.web.jsp; import java.io.File; -import java.io.FileInputStream; import java.io.IOException; +import java.io.InputStream; import java.io.OutputStream; +import java.nio.file.Files; import java.nio.file.Path; import java.util.zip.GZIPOutputStream; import javax.servlet.http.HttpServletRequest; @@ -103,8 +104,7 @@ private boolean streamFile(Path file, OutputStream outputStream) { byte[] bytes = new byte[4096]; boolean success = true; - try (FileInputStream fileInputStream = - (FileInputStream) java.nio.file.Files.newInputStream(file)) { + try (InputStream fileInputStream = Files.newInputStream(file)) { int length; while ((length = fileInputStream.read(bytes)) != -1) { outputStream.write(bytes, 0, length);