Java数据字典

上一篇 / 下一篇  2017-09-18 16:45:08 / 个人分类:Java

项目App会显示Storage,memory信息,自动化测试要检测这个值就需要保存读取到的系统信息,再与系统界面上的值进行对比,之前一直是用数组的方式来保存数据,较少用数据字典的方式保存,现在试着用数据字典的方式来解决数据的保存。

实现前先学习下Java HashMap类

publicclasszidian {

publicstaticvoidmain(Stringargs[]){

HashMap<String,String>hm=newHashMap<String,String>();

//add Dictionary

hm.put("username","password");

hm.put("jim","123456");

hm.put("jane","11557744");

hm.put("kevin","11165");

//测试key是否包含username,返回值为true/false

System.out.println(hm.containsKey("username"));

System.out.println("==================================");

//获取key所对应的value

System.out.println(hm.get("jim"));

//

System.out.println("==================================");

//获取整个字典数据

System.out.println(hm.entrySet());

System.out.println("==================================");

//循环打印每对key=value

Iterator<?>it=hm.entrySet().iterator();

while(it.hasNext()){

System.out.println(it.next());

}

System.out.println("==================================");

//分别获取key的值和value的值。

Iterator<String>it2=hm.keySet().iterator();

while(it2.hasNext()){

//获取字典的key(username)

Stringusername=(String)it2.next();

System.out.println(username);

//获取字典的value(节点)

Stringpassword=hm.get(username);

System.out.println(password);

}

}

}


运行结果:

true

==================================

123456

==================================

[kevin=11165, username=password, jim=123456, jane=11557744]

==================================

kevin=11165

username=password

jim=123456

jane=11557744

==================================

kevin

11165

username

password

jim

123456

jane

11557744



*******************************************************分割线***************************************

  直接上代码:
 

publicclassWindowsInfoUtil {

  

publicstaticHashMap<String,String> getStorage(){

//读取PC的storage信息

HashMap<String,String>map=newHashMap<String, String>();



//利用循环的方式读取各个磁盘的空间

for(charc='C';c<='F';c++){


StringdirName=c+":/";


Filewin=newFile(dirName);


if(win.exists()){

//读取到的磁盘空间是以byte为单位,为方便查看结果,转换为GB

Stringtotalspace=(String)(win.getTotalSpace()/(1024*1024*1024)+"GB");




Stringfreespace=(String)(win.getFreeSpace()/(1024*1024*1024)+"GB");


//System.out.println(freespace);

//将总空间的值和可用空间的值都存在hash map中。

map.put(c+" disk total space",totalspace);


map.put(c+" disk free space",freespace);


//System.out.println(map.keySet());



}



}


returnmap;



}



测试类:


publicclassgetStorageinfo {


@Test


publicvoidgetstorage(){


WindowsInfoUtilwin=newWindowsInfoUtil();


//HashMap<String,String> map=new HashMap<String,String>();

//HashMap的entrySet()是获取所有的键值对,keyset()是只获取Key,

Iterator<?>iter=win.getStorage().entrySet().iterator();




while(iter.hasNext()){




System.out.println(iter.next());



}



}



}


运行结果:

D disk total space=465GB


C disk free space=75GB


C disk total space=117GB


D disk free space=429GB




TAG:

 

评分:0

我来说两句

Open Toolbar