我有一組文件作爲資源附加到我的項目中。這些文件包含程序讀取和處理的數據。 這就是我要做的事:用空格和西里爾文符號名稱讀取資源文件
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream inputStream = classLoader.getResourceAsStream(filename);
packageParameters = IOUtils.toString(inputStream, "UTF-8");
inputStream.close();
,一切都很好,直到我試圖像具體的名稱來讀取文件:
\sets\Тех. тип = 0 Сет. = 1 Комплект 1.qr
getResourceAsStream
回報null
這意味着它無法找到該資源。
所以,問題是:如何讀取包含西里爾文符號,空格和名稱中特殊符號的文件? 試圖編碼名稱 - 沒有幫助。無法將其轉換爲URI,因爲構造函數會爲非法符號引發異常。
任何想法讚賞。 花了一些時間分析類似的答案 - 仍然不知道如何解決它。
感謝尼古拉爲了更新問題! –
你有控制文件命名嗎? – injecteer
不,我對文件名的生成方式沒有任何影響。我也想過重命名它們。但要在程序中對它們進行重命名,我需要能夠將它們定位爲資源,這正是我想要做的:) –