Java读取修改Properties文件
properties文件是我们经常需要操作一种文件,它使用一种键值对的形式来保存属性集。
无论在学习上还是工作上经常需要读取,修改,删除properties文件里面的属性。
本文通过操作一个properties去认识怎样操作properties文件。
Java提供了Properties这个类Properties(Java.util.Properties),用于操作properties文件。
这是配置文件,file.properties
type=mysql
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/db?characterEncoding=utf-8
username=root
password=root
public class PropertiesDemo { public static final Properties p = new Properties();
public static final String path = "file.properties";
初始化:
/**
* 通过类装载器 初始化Properties
*/
public static void init() {
//转换成流
InputStream inputStream =
PropertiesDemo.class.getClassLoader().getResourceAsStream(path);
try {
//从输入流中读取属性列表(键和元素对)
p.load(inputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
获取:
/**
* 通过key获取value
* @param key
* @return
*/
public static String get(String key) {
return p.getProperty(key);
}
修改或者新增:
/**
* 修改或者新增key
* @param key
* @param value
*/
public static void update(String key, String value) {
p.setProperty(key, value);
FileOutputStream oFile = null;
try {
oFile = new FileOutputStream(path);
//将Properties中的属性列表(键和元素对)写入输出流
p.store(oFile, "");
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
oFile.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
删除:
/**
* 通过key删除value
* @param key
*/
public static void delete(String key) {
p.remove(key);
FileOutputStream oFile = null;
try {
oFile = new FileOutputStream(path);
p.store(oFile, "");
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
oFile.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
获取所有:
/**
* 循环所有key value
*/
public static void list() {
Enumeration en = p.propertyNames(); //得到配置文件的名字
while(en.hasMoreElements()) {
String strKey = (String) en.nextElement();
String strValue = p.getProperty(strKey);
System.out.println(strKey + "=" + strValue);
}
}
测试:
public static void main(String[] args) {
PropertiesDemo.init(); //修改
PropertiesDemo.update("password","123456");
System.out.println(PropertiesDemo.get("password")); //删除
PropertiesDemo.delete("username");
System.out.println(PropertiesDemo.get("username")); //获取所有
PropertiesDemo.list();
}
Java读取修改Properties文件的更多相关文章
- java读取本地properties文件
package cn.edu.hbcf.pojo; import java.io.FileNotFoundException; import java.io.IOException; import j ...
- java加载properties文件的六中基本方式实现
java加载properties文件的方式主要分为两大类:一种是通过import java.util.Properties类中的load(InputStream in)方法加载: 另一种是通过impo ...
- SpringBoot读取application.properties文件
http://blog.csdn.net/cloume/article/details/52538626 Spring Boot中使用自定义的properties Spring Boot的applic ...
- java加载properties文件的六种方法总结
java加载properties文件的六种方法总结 java加载properties文件的六中基本方式实现 java加载properties文件的方式主要分为两大类:一种是通过import java. ...
- 直接读取修改exe文件
1. 前言 配置器的编写有很多的方式,主要是直接修改原始的受控端的程序,有的方式是把受控端和配置信息都放到控制端程序的内部,在需要配置受控端的时候直接输入配置信息,生成受控端:也有的方式是在外部直接修 ...
- docker 初始化执行.sh修改.properties文件
1.testmysql.properties rootuser=aarootpass=bb 2.用环境变量修改testmysql.properties里面的rootuser和rootpass的值的脚本 ...
- java读取 500M 以上文件,java读取大文件
java 读取txt,java读取大文件 设置缓存大小BUFFER_SIZE ,Config.tempdatafile是文件地址 来源博客http://yijianfengvip.blog.163.c ...
- Java代码操作properties文件(读取,新增/修改,删除)
项目中需要用到操作properties文件中的数据,记录一下 package com.bonc.savepic.save; import java.io.FileNotFoundException; ...
- Java Bean 获取properties文件的读取
实际的开发过程中,将一些配置属性从java代码中提取到properties文件中是个很好的选择,降低了代码的耦合度.下面介绍两种通过spring读取properties文件的方法,以ip地址配置为例. ...
随机推荐
- Pycharm小知识
1) 重新更改文件名称:(Shift + F6) 2) 设置IDE皮肤主题 File -> Settings -> Appearance -> Theme -> 选择“Al ...
- (转)Eclipse导入EPF配置文件
为了美化Eclipse大家可以从 http://www.eclipsecolorthemes.org/ 下载EPF配置文件,使用方法如下 (1)从File菜单 选择Import (2) 选择Gen ...
- JTable 查询
public JTable query(String table) throws SQLException { DefaultTableModel tablemodel = new DefaultTa ...
- De novo RNA-Seq Assembly Using De Bruijn Graphs
De novo RNA-Seq Assembly Using De Bruijn Graphs 2017-06-12 09:42:47 59 0 0 在说基因组的拼接之前,可 ...
- 还没有写完准备弡上cpickle 还有字典
#!/usr/bin/python #Filename: cpickle.py import cPickle as p import os shoplistfile="shoplist.da ...
- Python之路(第二十四篇) 面向对象初级:多态、封装
一.多态 多态 多态:一类事物有多种形态,同一种事物的多种形态,动物分为鸡类,猪类.狗类 例子 import abc class H2o(metaclass=abc.ABCMeta): def _ ...
- Longest Turbulent Subarray LT978
A subarray A[i], A[i+1], ..., A[j] of A is said to be turbulent if and only if: For i <= k < j ...
- ajax 跨域请求没有带上cookie 解决办法
公司项目前后端分离.. 前端全部html 静态页面.. 后端java 接口服务 由于前后端分离,出现跨域问题. 为了解决,我们使用jsonp 方式请求接口服务,暂时解决了跨域问题(使用jquery a ...
- php与html代码的若干转换
以前懵懵懂懂的看过,没怎么在意,现在总结一下 一般来说,像留言板之类的content,用这样的就够了: $content=addslashes(htmlspecialchars($_POST['con ...
- 【Redis】Redis cluster集群搭建
Redis集群基本介绍 Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施installation. Redis 集群不支持那些需要同时处理多个键的 Redis 命令, 因为执行 ...