什么是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());
}
}
写到最后
希望能帮助到有需要的人,然后…然后…然后就没有然后了。
// 摘自《画风》
灯下端砚无眠, 提笔难落熟宣
纸上你远去唯有风挂念, 红叶拾起被谁
抖去香山残雪, 画风人守白卷
你身后风吹一夜, 把初见撕成告别
墨未溅, 昨日已层层凋谢
我狼毫挥尽尘缘, 运不回爱的瞬间
落叶倦, 诗一样画风浓烈