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) { } /** * 删除配置文件中的key * @throws IOException * */ @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将所有的内容先保存,不然一删除,原来的内容都没了 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); } //删除key 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(); } /** * 对配置文件的修改 * @throws IOException */ @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将所有的内容先保存,不然一更新,原来的内容都没了 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(); } /** * 向配置文件写入内容 * @throws IOException */ @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(); } /** * 读取配置文件 * @throws IOException */ @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())); } } }
java对properties配置文件的读写操作
原创
©著作权归作者所有:来自51CTO博客作者robinmars的原创作品,谢绝转载,否则将追究法律责任

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章