黑马程序员技术交流社区

标题: Properties类使用有点迷惑,请大虾指点(问题在代码中) [打印本页]

作者: 任我行    时间: 2014-12-23 15:43
标题: Properties类使用有点迷惑,请大虾指点(问题在代码中)
本帖最后由 任我行 于 2014-12-23 15:50 编辑
复制代码
  1. import java.io.BufferedReader;
  2. import java.io.FileReader;
  3. import java.io.IOException;
  4. import java.util.Properties;
复制代码



作者: 任我行    时间: 2014-12-23 15:52
本帖最后由 任我行 于 2014-12-23 15:54 编辑

import java.io.BufferedReader; import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;
/*
* 从指定文件中将配置文件打印出来  
*/
public class Test {        
         public static void main(String[] args)throws IOException         {                 
             BufferedReader bufr = new BufferedReader(new FileReader("C:\\info.txt"));                 
              String line = null;               
                Properties prop = new Properties();                                
                while (null !=(line = bufr.readLine()))                 {                        
             //对下面两句代码不理解,求指点?????????                       
                String[] arr = line.split("=");                     
               prop.setProperty(arr[0], arr[1]);                     
          //求指点?????????                 }              
                      bufr.close();               
                     System.out.println(prop);               
         }
}

作者: 小小志    时间: 2014-12-23 15:54
Properties 是实现了Map接口 所以 它和Map一样的 有Key和value,不过它也有特殊之处就是的键和值只能存储字符串类型的 并且之间是用=相连接的
常用与文件配置信息

作者: outsider1020    时间: 2014-12-23 16:56
Properties中存储的数据都是以键值对的形式,也就是:key=value的形式。这里是将读取到的一行字符串按照“=”进行拆分,得到key和value,然后再添加到Properties集合中。
作者: wf111sxwf    时间: 2014-12-24 12:50
3楼正解
作者: _kirito    时间: 2014-12-24 13:17
比如说源文件里面是
张三=28
李四=25
当读到第一行结束时
String[] arr = line.split();//表示“张三=28”被等号切割,也就是说arr[0]=张三,arr[1]=28
prop.setProperty(arr[0], arr[1]); //Properties为hashTable,Map中的一种,集合里面元素以键值对的形式存在
所以里面设置了张三 = 28
依次往下读一行直到读到null为止。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2