关于JAVA中怎么读取和修改.properties文件中的值
来源:互联网 发布:上古卷轴5捏脸数据ece 编辑:程序博客网 时间:2024/06/03 09:15
第一种方式:
以我自己的项目为原型这里案例一个最简单的获取方法
定义一个获取类
package com.boli.tianchuang.sys.util;import java.io.*;import java.util.Properties;/** * Desc:properties文件获取工具类 * Created by */public class PropertyUtil { private static Properties props; static{ loadProps(); } synchronized static private void loadProps(){ props = new Properties(); InputStream in = null; try { //第一种,通过类加载器进行获取properties文件流 //in = PropertyUtil.class.getClassLoader().getResourceAsStream("sysConfig.properties"); //第二种,通过类进行获取properties文件流 in = PropertyUtil.class.getResourceAsStream("/properties/sysConfig.properties"); props.load(in); } catch (FileNotFoundException e) { //logger.error("sysConfig.properties文件未找到"); } catch (IOException e) { //logger.error("出现IOException"); } finally { try { if(null != in) { in.close(); } } catch (IOException e) { //logger.error("sysConfig.properties文件流关闭出现异常"); } } //logger.info("加载properties文件内容完成..........."); //logger.info("properties文件内容:" + props); } public static String getProperty(String key){ if(null == props) { loadProps(); } return props.getProperty(key); } public static String getProperty(String key, String defaultValue) { if(null == props) { loadProps(); } return props.getProperty(key, defaultValue); }}
上面的类通过key就可以直接获取value了
这里特别注意的就是你的项目的文件路径了,这里一定要写对。
第二种方式:
文件目录与上图相同,但是这里我多了增加、修改功能,以下是代码和解释
package com.boli.tianchuang.helper; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties;public class CeShi { private static Properties prop;public static void load(String path){//这里的path是项目文件的绝对路径//先获取项目绝对路径:Thread.currentThread().getContextClassLoader().getResource("").getPath();//然后在项目路径后面拼接"properties/sysConfig.properties";prop= new Properties();// 属性集合对象 FileInputStream fis; try { System.out.println(path); fis = new FileInputStream(path); prop.load(fis); fis.close();// 关闭流 } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } //参数为要修改的文件路径 以及要修改的属性名和属性值 public static Boolean updatePro(String path,String key,String value){ if(prop==null){ load(path); System.out.println("修改前重新加载一遍"); } System.out.println("获取添加或修改前的属性值:"+key+"=" + prop.getProperty(key)); prop.setProperty(key, value); // 文件输出流 try { FileOutputStream fos = new FileOutputStream(path); // 将Properties集合保存到流中 prop.store(fos, "Copyright (c) Boxcode Studio"); fos.close();// 关闭流 } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); return false; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); return false; } System.out.println("获取添加或修改后的属性值:"+key+"=" + prop.getProperty(key)); return true; } //参数为要修改的文件路径 以及要修改的属性名和属性值 public static String getPro(String path,String key){ if(prop==null){ load(path); System.out.println("重新加载一遍"); } FileInputStream fis; try { fis = new FileInputStream(path); prop.load(fis);// 将属性文件流装载到Properties对象中 fis.close();// 关闭流 } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } System.out.println("查询到的"+key+"的值:"+prop.getProperty(key)); return prop.getProperty(key); } }
阅读全文
0 0
- 关于JAVA中怎么读取和修改.properties文件中的值
- java读取和修改Properties属性文件的value值
- java 修改 读取properties文件
- java 修改 读取properties文件
- java 中配置和读取properties文件
- JSP中读取 Properties文件中的值
- java读取properties文件中的值
- java中读取properties中的值
- java web项目中读取和修改properties配置文件
- java中读取Properties 文件
- Java中读取 properties 文件
- Java中读取Properties文件
- java中读取properties文件
- java修改读取properties配置文件中的内容
- java 读取项目中的和磁盘上的properties文件
- java 实时读取、修改properties文件
- java从properties文件中读取和写入属性
- java 读取、修改properties
- 网页启动App并传值
- android studio/ecplice全世界最实用的快捷键
- B树的插入、删除操作
- python打包(.py转换exe)
- 25.七-计算器类
- 关于JAVA中怎么读取和修改.properties文件中的值
- 舞动海报
- mybatis中 #$ 注入参数的不同
- 解决Android Studio运行编译时间久的最有效方案
- 0.618法
- maven多模块项目部署
- imcrop
- UML类图与类的关系
- 利用localtime_s函数格式化输出当地日期与时间