簡體   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