Java中Properties遍历及编写Properties工具类

什么是properties文件

简单来说,在java项目开发中用来存放一些key-value键值对的属性配置且后缀名为.properties的文本文件;主要用来做参数的存储且读写方便。

Java中Properties如何遍历

是时候举个栗子,废话不多说,抄起键盘就是干!

public class PropertiesTest {

	public static void main(String[] args) {
		Properties properties = System.getProperties();
		Iterator<Entry<Object, Object>> iterator = properties.entrySet().iterator();
		while (iterator.hasNext()) {
			Entry<Object, Object> entry = iterator.next();
			Object key = entry.getKey();
			Object value = entry.getValue();
			System.out.println(key + "------" + value);
		}
	}
}

运行结果

java.runtime.name------Java(TM) SE Runtime Environment
sun.boot.library.path------D:\Program Files\Java\jdk1.8.0_131\jre\bin
java.vm.version------25.131-b11
java.vm.vendor------Oracle Corporation
java.vendor.url------http://java.oracle.com/
path.separator------;
java.vm.name------Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg------sun.io
user.country------CN
user.script------
sun.java.launcher------SUN_STANDARD
sun.os.patch.level------Service Pack 1
java.vm.specification.name------Java Virtual Machine Specification
user.dir------D:\java\javase
java.runtime.version------1.8.0_131-b11
java.awt.graphicsenv------sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs------D:\Program Files\Java\jdk1.8.0_131\jre\lib\endorsed
os.arch------amd64
java.io.tmpdir------C:\Users\ADMINI~1\AppData\Local\Temp\
line.separator------

java.vm.specification.vendor------Oracle Corporation
user.variant------
os.name------Windows 7
sun.jnu.encoding------GBK
java.library.path------D:\Program Files\Java\jdk1.8.0_131\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;D:/Program Files/Java/jdk1.8.0_131/bin/../jre/bin/server;D:/Program Files/Java/jdk1.8.0_131/bin/../jre/bin;D:/Program Files/Java/jdk1.8.0_131/bin/../jre/lib/amd64;D:\apache-maven-3.2.2\bin;D:\Program Files\Java\jdk1.8.0_131\bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;d:\Program Files\IDM Computer Solutions\UEStudio;C:\Program Files\IDM Computer Solutions\UltraCompare;E:\安装程序\eclipse;;.
java.specification.name------Java Platform API Specification
java.class.version------52.0
sun.management.compiler------HotSpot 64-Bit Tiered Compilers
os.version------6.1
user.home------C:\Users\Administrator
user.timezone------
java.awt.printerjob------sun.awt.windows.WPrinterJob
file.encoding------UTF-8
java.specification.version------1.8
java.class.path------D:\java\javase\bin
user.name------Administrator
java.vm.specification.version------1.8
sun.java.command------com.dd.propertiestest.utils.PropertiesTest
java.home------D:\Program Files\Java\jdk1.8.0_131\jre
sun.arch.data.model------64
user.language------zh
java.specification.vendor------Oracle Corporation
awt.toolkit------sun.awt.windows.WToolkit
java.vm.info------mixed mode
java.version------1.8.0_131
java.ext.dirs------D:\Program Files\Java\jdk1.8.0_131\jre\lib\ext;C:\Windows\Sun\Java\lib\ext
sun.boot.class.path------D:\Program Files\Java\jdk1.8.0_131\jre\lib\resources.jar;D:\Program Files\Java\jdk1.8.0_131\jre\lib\rt.jar;D:\Program Files\Java\jdk1.8.0_131\jre\lib\sunrsasign.jar;D:\Program Files\Java\jdk1.8.0_131\jre\lib\jsse.jar;D:\Program Files\Java\jdk1.8.0_131\jre\lib\jce.jar;D:\Program Files\Java\jdk1.8.0_131\jre\lib\charsets.jar;D:\Program Files\Java\jdk1.8.0_131\jre\lib\jfr.jar;D:\Program Files\Java\jdk1.8.0_131\jre\classes
java.vendor------Oracle Corporation
file.separator------\
java.vendor.url.bug------http://bugreport.sun.com/bugreport/
sun.io.unicode.encoding------UnicodeLittle
sun.cpu.endian------little
sun.desktop------windows
sun.cpu.isalist------amd64

通过上面代码的运行结果,可以很清晰输出Properties中的key-value键值对数据。
在java项目开发中,有一些数据需要用到,所以为了方便快速开发,我们可以封装自己的PropertiesUtils工具类,这样岂不是美滋滋。

Properties工具类的编写

这里我再举个栗子,抛砖引玉。大家可以根据自己的情况,DIY代码
废话少说,抄起键盘就是干!

package com.dd.propertiestest.utils;

/**
 * 
 * @author CrazyCode
 *
 */
public class PropertiesUtil {

	/**
	 * 获取用户所在国家
	 * @return
	 */
	public static String getCurrentContry(){
		 return System.getProperty("user.language");
	}
	/**
	 * 获取操作系统
	 * @return
	 */
	public static String getOS(){
		return System.getProperty("os.name");
	}
	/**
	 * 获取当前计算机用户名
	 * @return
	 */
	public static String getUsername(){
		return System.getProperty("user.name");
	}
	/**
	 * 获取当前java版本
	 * @return
	 */
	public static String getJavaVersion(){
		return System.getProperty("java.version");
	}
	/**
	 * 获取操作系统版本
	 * @param args
	 */
	public static String getOSVersion(){
		return System.getProperty("os.version");
	}
	public static void main(String[] args) {
		System.out.println("当前所在国:" + getCurrentContry());
		System.out.println("当前操作系统:" + getOS());
		System.out.println("当前操作系统版本:" + getOSVersion());
		System.out.println("当前计算机用户名:" + getUsername());
		System.out.println("当前Java版本:" + getJavaVersion());
	}
}

写到最后

希望能帮助到有需要的人,然后…然后…然后就没有然后了。

// 摘自《画风》
灯下端砚无眠, 提笔难落熟宣
纸上你远去唯有风挂念, 红叶拾起被谁
抖去香山残雪, 画风人守白卷
你身后风吹一夜, 把初见撕成告别
墨未溅, 昨日已层层凋谢
我狼毫挥尽尘缘, 运不回爱的瞬间
落叶倦, 诗一样画风浓烈
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值