1.1. 对properties配置文件的读取
1.1.1. 要读取的文件
配置文件key和value之间用冒号[:]和等于号[=]都是可以的.
Test.properties |
name:\u5F20\u4E09 password:\u5BC6\u7801 age:22 |
1.1.2. 读取的程序代码
PropertiesTest.Java |
-
-
-
-
- @Test
- public void read() throws IOException{
- Properties properties = new Properties();
-
- File file = new File("test.properties");
-
- FileInputStream fis = new FileInputStream(file);
-
- properties.load(fis);
-
- Set<Object> keySet = properties.keySet();
-
- for (Object object : keySet) {
- System.out.println(object.toString()+":"+properties.getProperty(object.toString()));
- }
- }
|
1.1.3. 结果
后台打印结果 |
age:22 password:密码 name:张三 |
1.2. 对propertiest配置文件的写入操作
1.2.1. 写入程序的代码
PropertiesTest.java |
-
-
-
-
- @Test
- public void write() throws IOException {
- Properties properties = new Properties();
-
- String file = "aa.properties";
- FileOutputStream fos = new FileOutputStream(file);
-
- properties.setProperty("aa", "123");
- properties.setProperty("bb", "456");
- properties.setProperty("cc", "789");
- properties.setProperty("name", "张三");
-
-
- properties.store(fos, "保存文件");
-
- fos.close();
- }
|
1.2.2. 结果
aa.propertiest |
#\u4FDD\u5B58\u6587\u4EF6 #Sun Jan 25 14:06:25 CST 2015 name=\u5F20\u4E09 aa=123 bb=456 cc=789 |
1.3. 对properties配置文件的修改操作
1.3.1. 修改前的配置文件
Test.properties |
Age=22 Password=密码 Name=张三 |
1.3.2. 修改程序的代码
PropertiesTest.java |
-
-
-
-
- @Test
- public void update() throws IOException{
-
- Properties properties = new Properties();
-
- File file = new File("test.properties");
-
- FileInputStream fis = new FileInputStream(file);
-
- FileOutputStream fos = new FileOutputStream(file);
-
- properties.load(fis);
-
- properties.setProperty("name", "李四");
- properties.setProperty("age", "222");
- properties.setProperty("age3", "222");
- properties.store(fos, "更新配置文件");
-
- fos.close();
-
- fis.close();
-
- }
|
1.3.3. 修改后的文件内容
Test.properties |
#\u66F4\u65B0\u914D\u7F6E\u6587\u4EF6 #Sun Jan 25 15:20:40 CST 2015 age=222 name=\u674E\u56DB password=\u5BC6\u7801 age3=222 |
1.4. 对properties配置文件的删除
1.4.1. 删除前配置文件的内容
Test.properties |
#\u66F4\u65B0\u914D\u7F6E\u6587\u4EF6 #Sun Jan 25 15:20:40 CST 2015 age=222 name=\u674E\u56DB password=\u5BC6\u7801 age3=222 |
1.4.2. 删除程序的代码
PropertiesTest.java |
-
-
-
-
-
- @Test
- public void delete() throws IOException{
- Properties properties = new Properties();
-
- File file = new File("test.properties");
-
- FileInputStream fis = new FileInputStream(file);
-
- properties.load(fis);
-
-
- Map<String, String> map = new HashMap<String, String>();
-
- Set<Object> keySet = properties.keySet();
-
- System.out.println(keySet.size());
-
- for (Object object : keySet) {
- String key = (String) object;
- String value = (String) properties.get(key);
- System.out.println(key+"="+value);
- map.put(key, value);
- }
-
- map.remove("age3");
- properties.remove("age3");
-
- for (java.util.Map.Entry<String, String> entry: map.entrySet()) {
- properties.setProperty(entry.getKey(), entry.getValue());
- }
-
- FileOutputStream fos = new FileOutputStream(file);
- properties.store(fos, "删除配置文件中的key:age3");
-
- fos.close();
-
- fis.close();
-
- }
|
1.4.3. 删除后的配置文件内容
Test.properties |
#\u5220\u9664\u914D\u7F6E\u6587\u4EF6\u4E2D\u7684key:age3 #Sun Jan 25 15:23:58 CST 2015 age=222 name=\u674E\u56DB password=\u5BC6\u7801 |
1.5. 完整程序代码
PropertieTest.java |
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.util.HashMap;
- import java.util.Map;
- import java.util.Properties;
- import java.util.Set;
-
- import org.junit.Test;
-
- public class PropertiesTest {
-
- public static void main(String[] args) {
-
- }
-
-
-
-
-
- @Test
- public void delete() throws IOException{
- Properties properties = new Properties();
-
- File file = new File("test.properties");
-
- FileInputStream fis = new FileInputStream(file);
-
- properties.load(fis);
-
-
- Map<String, String> map = new HashMap<String, String>();
-
- Set<Object> keySet = properties.keySet();
-
- System.out.println(keySet.size());
-
- for (Object object : keySet) {
- String key = (String) object;
- String value = (String) properties.get(key);
- System.out.println(key+"="+value);
- map.put(key, value);
- }
-
- map.remove("age3");
- properties.remove("age3");
-
- for (java.util.Map.Entry<String, String> entry: map.entrySet()) {
- properties.setProperty(entry.getKey(), entry.getValue());
- }
-
- FileOutputStream fos = new FileOutputStream(file);
- properties.store(fos, "删除配置文件中的key:age3");
-
- fos.close();
-
- fis.close();
-
- }
-
-
-
-
-
- @Test
- public void update() throws IOException{
-
- Properties properties = new Properties();
-
- File file = new File("test.properties");
-
- FileInputStream fis = new FileInputStream(file);
-
-
-
- properties.load(fis);
-
-
- Map<String, String> map = new HashMap<String, String>();
-
- Set<Object> keySet = properties.keySet();
-
- System.out.println(keySet.size());
-
- for (Object object : keySet) {
- String key = (String) object;
- String value = (String) properties.get(key);
- System.out.println(key+"="+value);
- map.put(key, value);
- }
-
- map.put("name", "李四");
- map.put("age", "222");
- map.put("age3", "222");
-
-
- for (java.util.Map.Entry<String, String> entry: map.entrySet()) {
- properties.setProperty(entry.getKey(), entry.getValue());
- }
- FileOutputStream fos = new FileOutputStream(file);
-
- properties.store(fos, "更新配置文件");
-
- fos.close();
-
- fis.close();
-
- }
-
-
-
-
-
-
- @Test
- public void write() throws IOException {
- Properties properties = new Properties();
-
- String file = "aa.properties";
- FileOutputStream fos = new FileOutputStream(file);
-
- properties.setProperty("aa", "123");
- properties.setProperty("bb", "456");
- properties.setProperty("cc", "789");
- properties.setProperty("name", "张三");
-
-
- properties.store(fos, "保存文件");
-
- fos.close();
- }
-
-
-
-
-
-
- @Test
- public void read() throws IOException{
- Properties properties = new Properties();
-
- File file = new File("test.properties");
-
- FileInputStream fis = new FileInputStream(file);
-
- properties.load(fis);
-
- Set<Object> keySet = properties.keySet();
-
- for (Object object : keySet) {
- System.out.println(object.toString()+"="+properties.getProperty(object.toString()));
- }
- }
-
- }
|