我有一组文件作为资源附加到我的项目中。这些文件包含程序读取和处理的数据。 这就是我要做的事:用空格和西里尔文符号名称读取资源文件
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
不,我对文件名的生成方式没有任何影响。我也想过重命名它们。但要在程序中对它们进行重命名,我需要能够将它们定位为资源,这正是我想要做的:) –