我尝试从资源文件夹中读取文件。问题是,File.separator
在Windows上变为“%"
。
String inputFilesFolder = "input_files" + File.separator;
File file = new File(classLoader.getResource(inputFilesFolder + "filename").getFile());
inputFilesFolder
仍然正常(input_files/
),但在创建文件file.getPath()
后变为D:\blabla\input_files%filename
。
然后我尝试读取文件,但是我得到了一个FileNotFoundException(大惊喜)。 这有什么不对?
答案 0 :(得分:3)
File.separator是一个文件系统的东西。当您使用classLoader.getResource()时,始终使用正斜杠,因为资源名称是一个' /' - 分隔的路径名。
答案 1 :(得分:1)
试试这个:
File file = new File(classLoader.getResource(inputFilesFolder + filename).toURI());
答案 2 :(得分:0)
如何
<p></p>