ResourceBundle读取的文件是在classpath路径下,也就是src或者src目录下,而我们在项目中需要打包,打包后的properties文件在jar中,修改很不方便,我们需要把properties文件放在jar外随时可以修改。
1、一般情况下ResourceBundel读取文件方式默认的读取路径是classpath,配置文件名为resourceBundle.properties。在src根目录下为:
ResourceBundle rb=ResourceBundle.getBundle("resourceBundle")
如果在某包下,则为:package.resourceBundle,比如在abc包下:
ResourceBundle rb=ResourceBundle.getBundle("abc.resourceBundle") ; 或者 ResourceBundle rb=ResourceBundle.getBundle("abc/resourceBundle") ; // 获取配置文件内容,比如 bundle.getString("redis.maxIdle") 获取的就是配置文件中redis.maxIdle的值
2、resourceBundle.properties放在项目根目录的一个文件夹下,比如新建config文件夹,
private static ResourceBundle rb; private static BufferedInputStream inputStream; static { String proFilePath = System.getProperty("user.dir") +"\\config\\resourceBundle.properties"; try { inputStream = new BufferedInputStream(new FileInputStream(proFilePath)); rb = new PropertyResourceBundle(inputStream); inputStream.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
这样打包后可以直接修改properties文件