Mam kod:

	public String[] getAllList(){
		try{
			//String str = getClass().getProtectionDomain().getCodeSource().getLocation().toString().substring(6);
			JarFile localJarFile = new JarFile(new Program().JAR_PATH);
			localJarFile.entries();
			Enumeration<? extends JarEntry> jarEntries = localJarFile.entries();
			ArrayList<String> list = new ArrayList<String>();
			int i=0;
			while (jarEntries.hasMoreElements()) {
				final JarEntry ze=jarEntries.nextElement();
			    list.add(ze.getName());
			    i++;
			}
			String[] r = new String[i];
			int j=0;
			for(String n:list){
				r[j]=n;
				j++;
			}
			return r;
		} catch (Exception localException) {
			localException.printStackTrace();
			}
		return null;
	}

W teorii kod ten miał podawać listę plików dostepnych w pliku jar.
Sprawdzany plik jar jest zarazem uruchomionym plikiem(sprawdza on sam siebie).
Niestety występuje taki błąd:

java.io.FileNotFoundException: . (Odmowa dostępu)
        at java.util.zip.ZipFile.open(Native Method)
        at java.util.zip.ZipFile.<init>(Unknown Source)
        at java.util.zip.ZipFile.<init>(Unknown Source)
        at java.util.jar.JarFile.<init>(Unknown Source)
        at java.util.jar.JarFile.<init>(Unknown Source)
        at com.gmail.Slupik98.Project_Stangar.utils.Jar.getAllList(Jar.java:46)
        at com.gmail.Slupik98.Project_Stangar.prop.ZIPtest.main(ZIPtest.java:18)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoa
der.java:58)
Exception in thread "main" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoa
der.java:58)
Caused by: java.lang.NullPointerException
        at com.gmail.Slupik98.Project_Stangar.prop.ZIPtest.main(ZIPtest.java:18)

        ... 5 more

W ZIPtest znajduje się main ;)
Linia 46:

JarFile localJarFile = new JarFile(new Program().JAR_PATH);

Docelowo chcę dodać i usuwać pliki z działającego archiwum jar, na razie jednak nawet nie mogę zczytać ich listy... ma ktoś jakiś pomysł jak to ominąć?
Starałem się ale nic nie przychodzi mi do głowy.
Czytanie listy działa mi natomiast przy potraktowaniu pliku jar jako ZIP, jednak to rozwiązanie nie pozwala mi dodawać plików(odmowa dostępu).