У меня есть URL-адрес, содержащий белое пространство посредине. Когда я вызываю новый конструктор JarFile() в этом файле, я я получаю исключение «java.util.zip.ZipException: ошибка при открытии архива»java.util.zip.ZipException: ошибка при открытии zip-файла при наличии пробела в URL-адресе
Я пытаюсь по следующему адресу
URL url = file:/usr/local/mvn%20repo/javax/persistence/persistence-api/2.0/persistence-api-2.0.jar
и создании объекта JarFile
JarFile jarFile = new JarFile(url.getFile());
и получаю ошибку после Ошибка:
java.util.zip.ZipException: error in opening zip file
Благодаря KK
Возможно, вы получите более подробную ошибку, не так ли? Трассировки стека? – Magnilex
Попробуйте следующее: URL url = URLDecoder.decode ("файл: /usr/local/mvn%20repo/javax/persistence/persistence-api/2.0/persistence-api-2.0.jar", "UTF-8"). ReplaceAll ("\\ S", ""); –
Да, 'URLDecoder.decode' необходим для замены'% 20' пробелом. Ба. –