通过反射机制获取java文件和ResourceBundle获取配置文件时路径需注意

通过反射获取java文件的类路径时不能当作以src为根路径获取,因为它src只是在集成开发环境中存在的包
而java文件在通过编译后生成的.class文件是存储在项目根下的out目录下的,所有编译过后的java文件都是在这里存储的。

所以工具类中的ResourceBundle resource = ResourceBundle.getBundle("路径");中路径的是从当前src为根路径进行读取文件的方法是没法通用于IO流获取文件时路径写法的。

所以当通过IO流编写以src为根路径而写成如:包名/类名.class这种方式来获取文件是错误的,会报出空指针异常

而上述那种方式获取文件仅限于.properties属性配置文件
通过 ResourceBundle.getBundle() 静态方法来获取(ResourceBundle是一个抽象类),这种方式来获取properties属性文件不需要加.properties后缀名,只需要文件名即可。

上一篇:BZOJ4756: [Usaco2017 Jan]Promotion Counting(线段树合并)


下一篇:git--git error: src refspec dev does not match any