Property中文的翻译是性质或者财产的意思,放到程序中就是存放属性集合的文档,用来在一个文件中存储键-值对的,其中键和值是用等号分隔的,我们可以通过导入该文档,实现诸如校验密码或者编写通讯录的功能.
使用Properties类,我们必须先New一个对象,该对象用来实现Properties类中的方法.
例如Properties pro = new Properties;
然后导入你想导入的文件 格式是pro.load(new FileInputStream("你想导入的文件名"));
pro.getProperty("username"); (假设Properites文档里username = Jason)
运行System.out.println(pro.getProterty(username));得到的结果就是Jason
使用pro.setProperty("username","Mark");来实现.
当然修改以后咱们就需要保存,这里咱们就用使用到store方法例:pro.store(new FileOutStream("你想存入的文件名"),null);
在当前java源文件所在的目录,当然如果你希望存在其他目录也是可以的,不过当你要调用它时,导入时必须添加路径;
综合所上咱们可以实现 上面几个代码的功能:
1.命名一个test.properties的文件,文件内容咱们先为空,然后创建一个TestProperties的类完整的代码如下:
import java.util.Properties;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;public class TestProperties {
public static void main(String[] args) {
Properties pro = new Properties();
//这里需要用到异常处理,咱们还没学到暂时不用去想为什么
//只需要知道由于存在文档可能不存在的情况,所以要用到
try{
pro.load(new FileInputStream("test.properties"));
}catch(Exception ex){
//如果调用的文档不存在就会运行下面语句
System.out.println("装载文件出错!");
return;
}
//现在咱们读取文档内的属性和他的值
//先判断是不是有要读取的属性,假设为name
String s = pro.getProperty("name");
if (s == null) {
System.out.println("没有该属性的值");
}
//现在添加一个属性 名为name 值为Jason
pro.setProperty("name","Jason");
//保存
//这里同样要有异常处理
try {
pro.store(new FileOutputStream("test.properties"),null);
} catch (IOException ioe) {
//为空就可以
}
//运行到这里,查看test.properties就会发现name属性跟值都被写入了
//现在咱们修改属性看看
pro.setProperty("name","Mark");
try {
pro.store(new FileOutputStream("test.properties"),null);
}catch (IOException ioe) {
}
System.out.println("name的值为"+pro.getProperty("name"));
}
}