我想改变.properties里属性的值,但是为啥还是原来的值呢,求高手解答啊

woniu4500 2012-11-19 05:13:16
以下是我写的重置值的函数,谢谢
public void setPara(String fileName,String key,String value) {
Properties prop = new Properties();
try{
ClassLoader cl = this.getClass().getClassLoader();
InputStream is = cl.getResourceAsStream(fileName);
prop.load(is);
if(is != null)
is.close();
}catch(Exception e){
System.out.println(e + "file " + fileName + " not found");
}
prop.setProperty(key,value);
FileOutputStream fos;
try {
fos = new FileOutputStream(fileName);
try {
prop.store(fos, null);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
...全文
304 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
suciver 2012-11-19
  • 打赏
  • 举报
回复
你读取的是class目录下的config.properties可是你在set方法里面把它输出到了项目的目录下了 要把那个set方法的 FileOutputStream fos = new FileOutputStream(cl.getResource(fileName).toURI().getPath());改成这样
woniu4500 2012-11-19
  • 打赏
  • 举报
回复
什么原因呢?
woniu4500 2012-11-19
  • 打赏
  • 举报
回复
public class ReadPro implements Serializable { public String getPara(String fileName,String field){ Properties prop = new Properties(); try{ ClassLoader cl = this.getClass().getClassLoader(); InputStream is = cl.getResourceAsStream(fileName); prop.load(is); if(is != null) is.close(); }catch(Exception e){ System.out.println(e + "file " + fileName + " not found"); } return prop.getProperty(field); } public void setPara(String fileName,String key,String value) { Properties prop = new Properties(); try{ ClassLoader cl = this.getClass().getClassLoader(); InputStream is = cl.getResourceAsStream(fileName); prop.load(is); if(is != null) is.close(); }catch(Exception e){ System.out.println(e + "file " + fileName + " not found"); } prop.setProperty(key,value); FileOutputStream fos; try { fos = new FileOutputStream(fileName); try { prop.store(fos,null); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void main(String [] args){ ReadPro readpro = new ReadPro(); String ex = readpro.getPara("config.properties", "ExceptionPiont"); System.out.println("++++++++++++++++++++++"+ex); readpro.setPara("config.properties","ExceptionPiont" , "23"); String exchange = readpro.getPara("config.properties", "ExceptionPiont"); System.out.println("++++++++++++++++++++++"+exchange); } }
随着通信电子技术的迅速发展,信息技术给家居行业产生了深远的影响,家居环境的智能化监控已经成为智能家居的一个重要的发展方向。人们逐渐对自己的生活提出一种更高的要,他们需要一种智能化、可交互,并且融合现代创新科技的产品来改善他们的生活环境,使他们生活更加安全、舒适、便捷、智能。本文根据智能家居的发展背景和研究现状,并且从实用性和可行性角度出发,研究设计了一种基于STM32单片机的智能家居系统。该系统由一个多功能综合的技术系统组成,各个多功能子系统间具有协同配合能力。基于STM32单片机实现的功能子系统包括:智能温度检测,智能湿度检测,智能烟雾/火灾检测智能检测,无线传输,人机交互机构,风扇调节,报警模块。 整个系统分为前端51单片机采集板和后端STM32单片机接收板。 采集板使用DHT11温湿度传感器、MQ烟雾传感器完成室内家居环境的采集。然后通过nRFL24L01将采集到的数据发送给后端。接收板使用LCD1602完成数据显示、使用蜂鸣器模块报警,使用风扇驱动模块调节室内家居环境。本文完成了智能家居控制系统前端、后端软硬件的设计,使用Altium designer绘制了电路原理图,使用Keil C完成了51单片机和STM32单片机的编程与调试。 最后,对本文设计的基于STM32的智能家居控制系统进行部署调试。试验结果表明,该系统可成功应用在智能家居环境检测调节和火灾安全防护的领域,可提高家居生活智能化水平。

67,535

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧