java File.separator 在 Windows 上的文件路径中变为 "%"

标签 java windows file

我尝试从资源文件夹中读取文件。问题是,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%文件名

然后我尝试读取该文件,但收到 FileNotFoundException(大惊喜)。 这里出了什么问题?

最佳答案

File.separator 是一个文件系统的东西。当您使用 classLoader.getResource() 时,请始终使用正斜杠,因为资源名称是以“/”分隔的路径名称。

See Javadoc for getResource()

关于java File.separator 在 Windows 上的文件路径中变为 "%",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30415144/

相关文章:

java - 注释为的类或子类的方面

java - Java中错误报告的正确方法?

windows - 检查 Windows API 级别的 DLL

linux - 如何为 Azure 上运行的虚拟机启用 ping?

ios - 应用程序更新后来自 bundle 的声音仍然存在

java - 如何为每个通知创建一个新的 Activity 对象?

java - 如何使用 JPOS 库测试和模拟外设

c# - 重命名正在运行的应用程序 - 危险吗?

file - unison 如何决定同步文件的方式

java - Android - 将 Map<String, Object[]> 保存到文件