Перейти к содержанию
Авторизация  
lolka21

Как Удалить Пробел!

Рекомендуемые сообщения

import java.io.File;

import java.io.IOException;

import java.lang.reflect.Method;

import java.net.URI;

import java.net.URL;

import java.net.URLClassLoader;

import java.util.ArrayList;

import java.util.Enumeration;

import java.util.List;

import java.util.jar.JarEntry;

import java.util.jar.JarFile;

 

public class JarUtils {

public static void addURL(URL u) throws IOException {

 

URLClassLoader sysloader = (URLClassLoader)ClassLoader.getSystemClassLoader();

Classsysclass = URLClassLoader.class;

 

try {

Method method = sysclass.getDeclaredMethod("addURL",URL.class);

method.setAccessible(true);

method.invoke(sysloader,u );

} catch (Throwable t) {

t.printStackTrace();

throw new IOException("Error, could not add URL to system classloader");

}

 

}

public static List enumClasses(String pckgname) throws ClassNotFoundException {

ArrayList classes = new ArrayList();

File directory = null;

try {

ClassLoader cld = Thread.currentThread().getContextClassLoader();

if (cld == null)

throw new ClassNotFoundException("Can't get class loader.");

String path = pckgname.replace('.', '/');

Enumeration resource = null;

try {

resource = cld.getResources(path);

} catch(IOException e) {

throw new ClassNotFoundException("No resource for " + path);

}

if (resource == null)

throw new ClassNotFoundException("No resource for " + path);

while(resource.hasMoreElements()) {

URL url = resource.nextElement();

directory = new File(url.getFile());

if(url.toString().startsWith("jar:")) try {

String uriString = url.toURI().toString().replace("!/"+path, "").replace("jar:", "");

JarFile jar = new JarFile(new File(new URI(uriString)));

Enumeration e = jar.entries();

while(e.hasMoreElements()) {

JarEntry je = e.nextElement();

if(je.getName().endsWith(".class") && je.getName().startsWith(path)) {

String cname = je.getName().replace("/", ".").replace(".class", "");

if(!classes.contains(cname))

classes.add(cname);

}

 

}

jar.close();

} catch(Exception e) {

e.printStackTrace();

}

else if (directory.exists()) {

String[] files = directory.list();

for (int i = 0; i < files.length; i++) {

if (files.endsWith(".class")) {

String cname = pckgname + '.'+ files.substring(0, files.length() - 6);

if(!classes.contains(cname))

classes.add(cname);

}

}

} else {

throw new ClassNotFoundException(pckgname+ " does not appear to be a valid package");

}

}

} catch (NullPointerException x) {

throw new ClassNotFoundException(pckgname + " (" + directory+ ") does not appear to be a valid package");

}

return classes;

}

 

}

 

 

 

 

 

 

illegal character in opaque part at index jar:file:/D:/Lineage Project/l2 ошибка гс

нужно вообще удалить пробел между Lineage2 Project

я так понимаю в коде нужно сделать String uriString = url.toURI().toString().replace("!/"+path, "").replace("jar:", ""); тут?добавить replaceAll(" ", "");

но НЕ ПОМОГАЕТ

Кто знает в чём дело????

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а тупо папку переименовать нельзя?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...