本文共 2184 字,大约阅读时间需要 7 分钟。
/*Properties存取配置文件Properties是hashtable的子类。也就是说它具备map集合的特点。而且它里面存储的键值对都是字符串是集合中和IO技术相结合的集合容器。该对象的特点:可以用于键值对形式的配置文件。那么在加载数据时,需要数据有固定格式:键=值*/import java.io.*;//IO流import java.util.*;//集合class PropertiesDemo{ public static void main(String[] args) throws IOException { loadDemo(); } public static void loadDemo() throws IOException { Properties prop = new Properties();//属性对象 FileInputStream fis = new FileInputStream("info.txt");//文件输入流 //将流中的数据加载进集合 prop.load(fis);//load(),加载,参数可以放IO流 prop.setProperty("wangwu","39");//修改内存 FileOutputStream fos = new FileOutputStream("info.txt");//文件输出流 prop.store(fos,"haha");//修改硬盘文件 fos.close(); fis.close(); //System.out.println(prop); //prop.list(System.out);//list()列表输出,参数可以放PrintStream } //演示,如何将流中的数据存储到集合中。 //想要将info.txt中键值数据存到集合中进行操作。 /* 1,用一个流和info.txt文件关联 2,读取一行数据,将该行数据用“="进行切割 3,等号左边作为键,右边作为值。存入到Properties集合中即可。 */ public static void method_1() throws IOException { BufferedReader bufr = new BufferedReader(new FileReader("info.txt")); String line = null; Properties prop = new Properties(); while((line= bufr.readLine())!=null) { String[] arr = line.split("=");//split()切割,用“="进行切割,存放到String[] arr //System.out.println(arr[0]+".."+arr[1]); prop.setProperty(arr[0],arr[1]);//Properties成对存入,存入到Properties集合,调用 Hashtable 的方法 put。 } bufr.close(); System.out.println(prop); } //设置和获取元素 public static void setAndGet() { Properties prop = new Properties(); prop.setProperty("zhangsan","30");//setProperty(String key, String value) 调用 Hashtable 的方法 put。 prop.setProperty("lisi","39");// System.out.println(prop); String value = prop.getProperty("lisi");//getProperty(String key) , 用指定的键在此属性列表中搜索key属性,返回value。 System.out.println(value); Setnames = prop.stringProperyNames();//返回此属性列表中的键集,其中该键及其对应值是字符串 for (String s :names ) { System.out.println( s+":"+getProperty(s));//S是KEY,返回VALUE } }}
转载地址:http://mwzvb.baihongyu.com/