import com.sun.xml.internal.bind.v2.TODO;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
public class PropertiesUtil {
/**
* 方法: getProperties <br>
* <p>
* 描述: 根据key获取value <br>
* <p>
*
* @param key
* @return
*/
public static String getProperties(String key) {
Properties prop = new Properties();
InputStream url = PropertiesUtil.class.getResourceAsStream("/conf/deploy.properties");
FileInputStream in = null;
try {
prop.load(url);
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
in = null;
} catch (IOException e) {
e.printStackTrace();
}
}
}
return (String) prop.get(key);
}
/**
* 根据文件路径&key获取value
* @param path
* @param key
* @return
*/
public static String getProperties(String path, String key) {
Properties prop = new Properties();
InputStream url = null;
FileInputStream in = null;
try {
url = new FileInputStream(path);
} catch (FileNotFoundException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
try {
prop.load(url);
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
in = null;
} catch (IOException e) {
e.printStackTrace();
}
}
}
return (String) prop.get(key);
}
/**
* 添加key&value
* @param key
* @param value
*/
public static void addProperties(String key, String value) {
InputStream url = PropertiesUtil.class.getResourceAsStream("/conf/deploy.properties");
Properties prop = new Properties();
try {
prop.load(url);
} catch (IOException e) {
e.printStackTrace();
}
/*Map toSaveMap = new HashMap();
Set keys = prop.keySet();
for (Iterator itr = keys.iterator(); itr.hasNext();) {
String oldKey = (String) itr.next();
Object oldValue = prop.get(oldKey);
toSaveMap.put(oldKey, oldValue);
}
toSaveMap.put(key,value);
prop.putAll(toSaveMap);
System.out.println(toSaveMap.toString());*/
prop.put(key, value);
try {
OutputStream outputStream = new FileOutputStream(new File(PropertiesUtil.class.getResource("/conf/deploy.properties").getFile()));
prop.store(outputStream, null);
outputStream.flush();
outputStream.close();
System.out.println("添加成功");
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 设置key & value
* @param path
* @param key
* @param value
*/
public static void addProperties(String path, String key, String value) {
InputStream url = null;
try {
url = new FileInputStream(path);
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Properties prop = new Properties();
try {
prop.load(url);
} catch (IOException e) {
e.printStackTrace();
}
Map toSaveMap = new HashMap();
Set keys = prop.keySet();
for (Iterator itr = keys.iterator(); itr.hasNext(); ) {
String oldKey = (String) itr.next();
Object oldValue = prop.get(oldKey);
toSaveMap.put(oldKey, oldValue);
}
toSaveMap.put(key, value);
prop.putAll(toSaveMap);
System.out.println(toSaveMap.toString());
try {
OutputStream outputStream = new FileOutputStream(new File(path));
prop.store(outputStream, null);
outputStream.flush();
outputStream.close();
System.out.println("添加成功");
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 修改
* @param key
* @param value
*/
public static void updateProperties(String key, String value) {
InputStream url = PropertiesUtil.class.getResourceAsStream("/conf/deploy.properties");
Properties prop = new Properties();
try {
prop.load(url);
} catch (IOException e) {
e.printStackTrace();
}
/*Map toSaveMap = new HashMap();
Set keys = prop.keySet();
for (Iterator itr = keys.iterator(); itr.hasNext();) {
String oldKey = (String) itr.next();
Object oldValue = prop.get(oldKey);
toSaveMap.put(oldKey, oldValue);
}
toSaveMap.put(key,value);
prop.putAll(toSaveMap);
System.out.println(toSaveMap.toString());*/
prop.put(key, value);
try {
OutputStream outputStream = new FileOutputStream(new File(PropertiesUtil.class.getResource("/conf/deploy.properties").getFile()));
prop.store(outputStream, null);
outputStream.flush();
outputStream.close();
System.out.println("修改成功");
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 修改
* @param path
* @param key
* @param value
*/
public static void updateProperties(String path, String key, String value) {
InputStream url = null;
try {
url = new FileInputStream(path);
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Properties prop = new Properties();
try {
prop.load(url);
} catch (IOException e) {
e.printStackTrace();
}
/*Map toSaveMap = new HashMap();
Set keys = prop.keySet();
for (Iterator itr = keys.iterator(); itr.hasNext();) {
String oldKey = (String) itr.next();
Object oldValue = prop.get(oldKey);
toSaveMap.put(oldKey, oldValue);
}
toSaveMap.put(key,value);
prop.putAll(toSaveMap);
System.out.println(toSaveMap.toString());*/
prop.put(key, value);
try {
OutputStream outputStream = new FileOutputStream(new File(path));
prop.store(outputStream, null);
outputStream.flush();
outputStream.close();
System.out.println("修改成功");
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 删除
* @param key
*/
public void delProperties(String key) {
//将文件中key,value先拿出来
InputStream url = PropertiesUtil.class.getResourceAsStream("/conf/deploy.properties");
Properties prop = new Properties();
try {
prop.load(url);
} catch (IOException e) {
e.printStackTrace();
}
/*Map toSaveMap = new HashMap();
Set keys = prop.keySet();
for (Iterator itr = keys.iterator(); itr.hasNext();)
{
String oldKey = (String) itr.next();
Object oldValue = prop.get(oldKey);
toSaveMap.put(oldKey, oldValue);
}
prop.clear();
toSaveMap.remove(key);
prop.putAll(toSaveMap);*/
prop.remove(key);
//将所有键值对再写入文件
try {
FileOutputStream outputStream = new FileOutputStream(PropertiesUtil.class.getResource("/conf/deploy.properties").getFile());
prop.store(outputStream, null);
outputStream.flush();
outputStream.close();
System.out.println("删除成功");
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 删除
* @param path
* @param key
*/
public void delProperties(String path, String key) {
//将文件中key,value先拿出来
InputStream url = null;
try {
url = new FileInputStream(path);
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
Properties prop = new Properties();
try {
prop.load(url);
} catch (IOException e) {
e.printStackTrace();
}
/*Map toSaveMap = new HashMap();
Set keys = prop.keySet();
for (Iterator itr = keys.iterator(); itr.hasNext();)
{
String oldKey = (String) itr.next();
Object oldValue = prop.get(oldKey);
toSaveMap.put(oldKey, oldValue);
}
prop.clear();
toSaveMap.remove(key);
prop.putAll(toSaveMap);
System.out.println(toSaveMap.toString());*/
prop.remove(key);
//将所有键值对再写入文件
try {
FileOutputStream outputStream = new FileOutputStream(path);
prop.store(outputStream, null);
outputStream.flush();
outputStream.close();
System.out.println("删除成功");
} catch (IOException e) {
e.printStackTrace();
}
}
}
标签:Java,String,prop,key,catch,new,解析,properties,toSaveMap
From: https://www.cnblogs.com/lisong0626/p/18057699