多平台 getResourceAsStream
Multiplatform getResourceAsStream
我应该使用什么文件分隔符来指定资源路径?我运行打包程序java -jar program.jar
.
目前我使用的是以下加载
inputStream = getClass.getResourceAsStream(
File.separator + "resources" + File.separator + "my.class");
在 linux 上,它被正确评估为 /resources/my.class
并且 class 已加载。但是,在 Windows 上抛出 NullPointerException
。什么是正确的用法?我迫切需要我的程序是多平台的。
我有点困惑,因为 documentation 通知路径可能以 /
开头,这不是 Windows 分隔符。
资源路径应始终使用“/”,因为它不是在概念上查找文件路径,而是在 class 路径条目中查找资源路径。
我应该使用什么文件分隔符来指定资源路径?我运行打包程序java -jar program.jar
.
目前我使用的是以下加载
inputStream = getClass.getResourceAsStream(
File.separator + "resources" + File.separator + "my.class");
在 linux 上,它被正确评估为 /resources/my.class
并且 class 已加载。但是,在 Windows 上抛出 NullPointerException
。什么是正确的用法?我迫切需要我的程序是多平台的。
我有点困惑,因为 documentation 通知路径可能以 /
开头,这不是 Windows 分隔符。
资源路径应始终使用“/”,因为它不是在概念上查找文件路径,而是在 class 路径条目中查找资源路径。