diff --git a/karate-core/src/main/java/com/intuit/karate/job/JobUtils.java b/karate-core/src/main/java/com/intuit/karate/job/JobUtils.java index f13408b1c..8e0698d0b 100644 --- a/karate-core/src/main/java/com/intuit/karate/job/JobUtils.java +++ b/karate-core/src/main/java/com/intuit/karate/job/JobUtils.java @@ -27,6 +27,7 @@ import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; +import java.io.RandomAccessFile; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; import java.util.function.Predicate; @@ -77,8 +78,8 @@ private static void zip(File fileToZip, String fileName, ZipOutputStream zipOut, } ZipEntry zipEntry = new ZipEntry(fileName); zipOut.putNextEntry(zipEntry); - FileInputStream fis = new FileInputStream(fileToZip); - FileChannel fc = fis.getChannel(); + RandomAccessFile reader = new RandomAccessFile(fileToZip, "r"); + FileChannel fc = reader.getChannel(); int bufferSize = 1024; if (bufferSize > fc.size()) { bufferSize = (int) fc.size(); @@ -88,7 +89,7 @@ private static void zip(File fileToZip, String fileName, ZipOutputStream zipOut, zipOut.write(bb.array(), 0, bb.position()); bb.clear(); } - fis.close(); + reader.close(); } public static void unzip(File src, File dest) {