引入
在实际编程开发中,经常会有像上述图片那样的情况,需要保存一些参数的数据,例如一些配置信息。这些数据如果用数据库的话显得太大材小用,用文本文件的话读取操作又非常的麻烦,而如果用.properties文件(通过“键—值”的格式存储)的话就会非常的方便。Java中就有专门的类来支持操作.properties文件——java.uitl.Properties类。
知识点归纳
1.新建.properties文件
由于Myeclipse中没有直接新建.properties文件的选项,可以采取先新建一个File,再命名为.properties的方法。正如图片所示,在Myeclipse中可以直接对.properties文件进行增删改。
2.关于java.uitl.Properties类
Properties 类表示了一个持久的属性集。属性列表中每个键及其对应值都是一个字符串。
3.Properties类的重要方法
Properties 类存在于胞 Java.util 中,该类继承自 Hashtable
- getProperty ( String key) , 用指定的键在此属性列表中搜索属性。也就是通过参数 key ,得到 key 所对应的 value。
- load ( InputStream inStream) ,从输入流中读取属性列表(键和元素对)。通过对指定的文件(比如说上面的 dbconfig.properties 文件)进行装载来获取该文件中的所有键 - 值对。以供 getProperty ( String key) 来搜索。
- setProperty ( String key, String value) ,调用 Hashtable 的方法 put 。他通过调用基类的put方法来设置 键 - 值对。
- store ( OutputStream out, String comments) , 以适合使用 load 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。与 load 方法相反,该方法将键 - 值对写入到指定的文件中去。
- clear () ,清除所有装载的 键 - 值对。该方法在基类中提供。
4.使用示例——获取key对应的value值
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class DBConfigUtil {
private static Properties prop = new Properties();
static{
//获取类加载器
ClassLoader loader = DBConfigUtil.class.getClassLoader();
//通过类加载器加载指定资源
InputStream in = loader.getResourceAsStream("dbconfig.properties");
//从输入流读取属性列表
try {
prop.load(in);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static String getValue(String key){
return prop.getProperty(key);
}
}
这样直接调用DBConfigUtil.getValue(String key)方法就可以返回属性表中的对应值了。
5.其他操作
待完善
应用场景
1.保存一些配置信息,需要时提取出来
如前文所述,可以用Myeclipse直接操作.properties文件,对key—value值进行设置;需要时通过实例方法提出值。
注意事项
1.本文章只是properties类和.properties文件的一个小操作,还有很多其他操作由于暂时没有接触所以并没有记录下来。等以后开发遇到了会在此文章进行补充。
2.代码中用到了ClassLoader类,属于类加载器,跟JVM相关。目前由于接触较少不过多阐述。