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