Результат побега FileLocator.resolve (url)

МетодFileLocator.resolve(url) может быть использован для перевода адресаbundleentry://something/somewhere/x.txt на правильный URL-адрес файла для/mnt/foo/somewhere/x.txt.

Однако, что также задокументировано наhttps://bugs.eclipse.org/bugs/show_bug.cgi?id=145096, URL не экранирован. Например, если установка Eclipse, содержащая указанный пакет, находится в каталоге с пробелом, URL-адрес, возвращаемыйFileLocator.resolve до сих пор содержит пространство и вызовurl.toURI() терпит неудачу из-за этого.

Как я могу сбежать вручнуювсе необходимые символы в URL?Как я могу получитьFile объект, основанный на пути относительно текущего пакета?

В качестве ссылки, вот код, который не удается при попытке найти каталогdir внутри моего плагина.jar файл, если этот файл находится в каталоге, содержащем пробел:

    final IPath pathOfExampleProject = new Path("dir");
    final Bundle bundle = Platform.getBundle(AproveIDs.PLUGIN_ID);
    final URL url = FileLocator.find(bundle, pathOfExampleProject, null);
    final URL url2 = FileLocator.toFileURL(url);
    url2.toURI(); // Illegal character in path at index [...]

Ответы на вопрос(3)

Ваш ответ на вопрос