Java eclipse导出的jar怎样读写里面的properties文件
我可以用下面的语句读取它:(Java源文件在pack包下,set包也是,set包里包含set.properties文件)ResourceBundlerb=Resource...
我可以用下面的语句读取它:(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就不行了,只能读取,不能写入数据求解 展开
prop.setProperty("image", toImage);FileOutputStream fileOut=new FileOutputStream("pack/set/set.properties");prop.store(fileOut,"");注:在eclipse里运行程序上面的代码可以很好地工作,但是打包成jar就不行了,只能读取,不能写入数据求解 展开
4个回答
2013-04-21
展开全部
两种办法 第一: File f = new File(this.getClass().getResource("/").getPath());
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文件的
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文件的
展开全部
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 文件。
ResourceBundle是java开发中非常实用的一个类,主要用来处理应用程序多语言这样的国际化问题。
如果你的应用程序如果有国际化的需求,可以考虑使用ResourceBundle, 你要做的就是给出满足特定格式的Properties 文件,例如
resource.propreties
resource_zh_CN.properties
resource_ja_JP.properties.
然后应用程序使用ResourceBundle.getBundle(“resource”, locale) 就可以自动的搜索的相应Locale的Properties 文件。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-22
展开全部
你想自写软件?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-21
展开全部
你想自写软件?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询