import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Iterator;
import java.util.Properties;
public class ptest {
public static void main(String[] args) {
readproperties();
writeproperties();
}
public static void readproperties(){
try {
ptest p = new ptest();
InputStream is = p.getClass().getResourceAsStream("/MailServer.properties"); //获取properties的路径
Properties prop = new Properties();
prop.load(is);//加载属性列表
Iterator<String> it=prop.stringPropertyNames().iterator();
while(it.hasNext()){
String key=it.next();
System.out.println(key+":"+prop.getProperty(key));
}
is.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void writeproperties() {
try{
Properties p = new Properties();
OutputStream outputFile = new FileOutputStream("src/MailServer.properties",true); //true表示追加(写入时 有重复key的 就覆盖原来的 没有就创建一个key-value)
p.setProperty("p.test.addtext","p_test_addtext"); //设置要写入的key value
p.store(outputFile,null);
outputFile.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
properties的写入和更新的关键在trueFileOutputStream(“src/MailServer.properties”,true); 里面的true,如果设为false就不会更新 只有写入功能