gpt4 book ai didi

eclipse - FileLocator.resolve(url) 的转义结果

转载 作者:行者123 更新时间:2023-12-02 15:47:09 25 4
gpt4 key购买 nike

方法FileLocator.resolve(url)可用于翻译地址bundleentry://something/somewhere/x.txt/mnt/foo/somewhere/x.txt 的正确文件 URL .

但是,这也记录在 https://bugs.eclipse.org/bugs/show_bug.cgi?id=145096 ,URL 没有转义。例如,如果包含引用的包的 Eclipse 安装位于包含空格的目录中,则 FileLocator.resolve 返回的 URL仍然包含空间并调用 url.toURI()因此失败了。

  • 如何手动转义网址中的所有必要字符?
  • 如何获得 File基于相对于当前路径的对象捆绑?

作为引用,以下是尝试查找目录 dir 时失败的代码在我的插件的 .jar 里面file 如果该文件位于包含空格的目录中:

    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 [...]

最佳答案

我刚刚找到了这段代码:

http://code.google.com/p/dart/source/browse/branches/bleeding_edge/dart/editor/tools/plugins/com.google.dart.tools.core/src/com/google/dart/tools/core/internal/model/BundledSystemLibrary.java?r=2057

相关行确实有帮助:

// We need to use the 3-arg constructor of URI in order to properly escape file system chars.
URI resolvedUri = new URI(resolvedUrl.getProtocol(), resolvedUrl.getPath(), null);

关于eclipse - FileLocator.resolve(url) 的转义结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14676966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com