繁体   English   中英

Java ClassLoader getResource,路径中包含特殊字符

[英]Java ClassLoader getResource with special characters in path

我有以下问题。 在我们的集成测试中,我们使用不同的配置,它将在测试之前使用以下代码从测试资源加载:

URL resource = ClassLoader.getSystemResource("application.conf");

只要路径中没有特殊字符,这就可以正常工作。 例如,具有以下正确路径

D:/Dev/projects/#FLI/flinsta/fgraph/build/resources/test/application.conf

将导致getSystemResource给出以下错误的文件路径:

D:/Dev/projects/%23FLI/flinsta/fgraph/build/resources/test/application.conf

然后,这将导致一个根本不存在的文件。 我怎样才能确保不会发生这样的事情。 重命名路径是一种选择。 但是,我想找到一个解决方案而不是解决方法。

感谢您的任何帮助!

在评论的帮助下回答我自己的问题:

URL resource = ClassLoader.getSystemResource("application.conf");
String configPath = URLDecoder.decode(resource.getFile(), "UTF-8");

变量configPath然后包含正确的路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM