+ private static String getContentType(
+ final String rootPath, final ZipFile zip, final String subfile
+ ) throws IOException {
+ if (zip != null) {
+ final var entry = zip.getEntry(subfile);
+ try (InputStream bufferedStream = new BufferedInputStream(zip.getInputStream(entry))) {
+ return URLConnection.guessContentTypeFromStream(bufferedStream);
+ }
+ } else {
+ final var file = new File(rootPath, subfile);
+ return Utils.getFileMimeType(file, null);
+ }
+ }