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

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

只要path中没有特殊字符,此方法就可以正常工作。例如,具有以下正确路径
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包含正确的路径。

09-10 01:45
查看更多