На самом деле, это лучшая версия - старая ошибка не удалась, если в имени папки было пробел.
private String getJarFolder() {
// get name and path
String name = getClass().getName().replace('.', '/');
name = getClass().getResource("/" + name + ".class").toString();
// remove junk
name = name.substring(0, name.indexOf(".jar"));
name = name.substring(name.lastIndexOf(':')-1, name.lastIndexOf('/')+1).replace('%', ' ');
// remove escape characters
String s = "";
for (int k=0; k<name.length(); k++) {
s += name.charAt(k);
if (name.charAt(k) == ' ') k += 2;
}
// replace '/' with system separator char
return s.replace('/', File.separatorChar);
}
Что касается провала с апплетами, вы обычно не имеете доступа к локальным файлам так или иначе. Я не знаю много о JWS, но для обработки локальных файлов может не получиться скачать приложение. ?