以下代码在Windows上正常工作:
private static Properties getProps() throws FileNotFoundException, IOException {
Properties properties = new Properties();
File externalFile = new File("myProp.properties");
if(externalFile.exists()) //if an external property file exists within the same path it is prioritized
properties.load(new FileInputStream(externalFile));
else{
properties.load(CommandUtil.class.getClass().getResourceAsStream("/com/localpath/default.properties"));
}
return properties;
}
如果myProp.properties存在于.jar的同一文件夹中,则读取此属性文件,否则将包含.jar本身内包含的默认.properties文件。
当我在Linux系统上移动这个程序时,它不再起作用了:即使.jar旁边有一个.properties文件,也只是被忽略了。 那是为什么?