2013-05-07 1 views
0

У меня есть 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

+0

Возможно, вы получите более подробную ошибку, не так ли? Трассировки стека? – Magnilex

+1

Попробуйте следующее: URL url = URLDecoder.decode ("файл: /usr/local/mvn%20repo/javax/persistence/persistence-api/2.0/persistence-api-2.0.jar", "UTF-8"). ReplaceAll ("\\ S", ""); –

+0

Да, 'URLDecoder.decode' необходим для замены'% 20' пробелом. Ба. –

ответ

1

Try файл: // в качестве протокола. Таким образом, в общей сложности он будет содержать три слэша и будет выглядеть так:

file:///usr/local/mvn%20repo/javax/persistence/persistence-api/2.0/persistence-api-2.0.jar 
+0

решена с использованием декодера URL – kkmishra

Смежные вопросы