У меня есть сжатый файл в папке «Ресурсы», который распаковывается в папке, в которой программа запускается впервые. Если программа запускается из Eclipse, файл обнаруживается и распаковывается без проблем. Когда я экспортирую программу в файл jar и запускаю программу с:
java -jar JRS2020-31.jar
, результат будет:
java.lang.RuntimeException: Error unzipping file initialData/compressed.zip
at InterpreteSQL.Main.unzip(Main.java:111)
at InterpreteSQL.Main.CreateInitialDirectoryIfNotFound(Main.java:77)
at InterpreteSQL.Main.main(Main.java:60)
Caused by: java.io.FileNotFoundException: file:/Users/XXX/JRS2020-31.jar!/initialData/compressed.zip (No such file or directory)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:219)
at java.util.zip.ZipFile.<init>(ZipFile.java:149)
at java.util.zip.ZipFile.<init>(ZipFile.java:120)
at InterpreteSQL.Main.unzip(Main.java:88)
... 2 more
Обратите внимание, что другие файлы в ресурсах (help html files ) регулярно открываются в программе.
Это код, который открывает файл:
public static void unzip(String zipFilePath, String unzipDir) throws Exception {
try{
ZipFile zipFile = new ZipFile(Main.class.getClassLoader().getResource(zipFilePath).getFile());
Enumeration<? extends ZipEntry> entries = zipFile.entries();
while(entries.hasMoreElements()){
...
и вызывается с помощью:
unzip("initialData/compressed.zip", "JRS_directory");
Обратите внимание, что программа запускается в домашней папке и может создавать каталоги и файлы.
Есть идеи о проблеме? Большое спасибо.