Java eclipse导出的jar怎样读写里面的properties文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java eclipse导出的jar怎样读写里面的properties文件相关的知识,希望对你有一定的参考价值。
我可以用下面的语句读取它:(Java源文件在pack包下,set包也是,set包里包含set.properties文件)ResourceBundle rb=ResourceBundle.getBundle("pack/set/set", Locale.CHINA);但是就是不能写入数据:Properties prop=new Properties();prop.setProperty("name", toName);
prop.setProperty("image", toImage);FileOutputStream fileOut=new FileOutputStream("pack/set/set.properties");prop.store(fileOut,"");注:在eclipse里运行程序上面的代码可以很好地工作,但是打包成jar就不行了,只能读取,不能写入数据求解
f = new File(f.getPath() + "/conf/config.properties");
注:f.getPath()即为当class所在的绝对路径。如:c:\javasrc\web-inf\classes
然后,对文件对象进行处理,就能把配置信息读取出来了,但是加入如上class被打包成jar文件,那么,在程序执行到这里时,就会无法找到配置文件,那么该如何处理呢?
处理方法如下:
String s_config="conf/config.properties";
File file= new File(String.valueOf(ClassLoader.getSystemResource(config)));
String filepaths= file.getPath(); 第二:用JarFile JarFile jarFile = new JarFile("thefile.jar"); 这个是专门用来读jar文件的 参考技术A jar里的properties文件,只能读取,不能写入。ResourceBundle rb=ResourceBundle.getBundle("pack/set/set", Locale.CHINA);
ResourceBundle是java开发中非常实用的一个类,主要用来处理应用程序多语言这样的国际化问题。
如果你的应用程序如果有国际化的需求,可以考虑使用ResourceBundle, 你要做的就是给出满足特定格式的Properties 文件,例如
resource.propreties
resource_zh_CN.properties
resource_ja_JP.properties.
然后应用程序使用ResourceBundle.getBundle(“resource”, locale) 就可以自动的搜索的相应Locale的Properties 文件。 参考技术B 你想自写软件? 参考技术C 你想自写软件?
以上是关于Java eclipse导出的jar怎样读写里面的properties文件的主要内容,如果未能解决你的问题,请参考以下文章
我用eclipse导出的runnable jar不能双击执行,但在命令行可以用java -jar ***.jar运行,这是怎么回事?
eclipse导出jar和Runnable jar。maven导出jar和Runnable jar
如何在 IntelliJ IDEA 中创建 .jar 文件或导出 JAR(如 Eclipse Java 存档导出)? [复制]