`

java中System.Properties的用法

阅读更多
转贴 2006-12-19 09:09:40 ] 发表者: ArchLord

http://archlord.blog.hexun.com/6949672_d.html


System可以有对标准输入,标准输出,错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。
System.getProperties()可以确定当前的系统属性,返回值是一个Properties;
System.load(String filename)等同于:System.getProperties().load(String filename)它们的作用是可以从作为动态库德本地文件系统中指定的文件名加载代码文件。

System.setProperties(Properties propes):将系统属性设置为Properties参数;
System.setProperties(String key,String value)等同于System.getProperties().setProperties(String key,String value):设置指定键指示的系统属性


对于在程序中如果我们想得到一个资源文件中对应的键值对的内容,可以有两种方法:
1)使用Properties的load方法,将这个文件先加载进来,之后使用getProperty方法将对应键的值得到,比如:
System.getProperties().load("System.Properties.txt");先加载System.Properties.txt文件
System.getProperties().getProperty("DBType");后将文件中键为DBType的值得到。
2)使用第一种方法键对应的值得灵活性比较大。还有一种方法是将不从文件中得到键对应的值。在程序中去设一个属性,比如:
System.getProperties().setProperty("DBType","SQLServer");先设置一个键位DBType的属性
System.getProperties().getProperty("DBType");后通过getProperty方法得到DBType的值。


另外使用Properties.getProperty方法的参数也可以使用系统的一些环境变量,列表如下:
Key                     Meaning
-------------------     ------------------------------
"file.separator"        File separator (e.g., "/")
"java.class.path"       Java classpath
"java.class.version"    Java class version number
"java.home"             Java installation directory
"java.vendor"           Java vendor-specific string

"java.vendor.url"       Java vendor URL
"java.version"          Java version number
"line.separator"        Line separator
"os.arch"               Operating system architecture
"os.name"               Operating system name

"path.separator"        Path separator (e.g., ":")
"user.dir"              User's current working directory
"user.home"             User home directory
"user.name"             User account name

使用其中的key可以得到一些属性,供我们在程序中使用

备注:
Microsoft VM是WIN32操作环境中的虚拟机,VM一般安装在大多数操作系统下,也包含在多数IE中。
Microsoft VM存在漏洞允许攻击者对user.dir属性进行访问。user.dir属性包含当前应用程序的工作目录信息,也包含用户名信息,利用这个漏洞可以获得当前用户名称。
可以利用WEB页和HTML形式邮件来触发。

----------------------------------------------------------------------------------

PS:运行以下代码,你将得到所有properties
import java.util.Enumeration;
import java.util.Properties;

public class JavaLang {

public static void main(String[] args) {
Properties p = System.getProperties();
Enumeration enu = p.keys();
String property = "";
String constantName = "";
String note = "";
System.out.println("package com.bin.utils;\n\n\n");
System.out.println("public class SystemProperties {\n");
while(enu.hasMoreElements()){
property = (String)enu.nextElement();
note = "\t//" + System.getProperty(property) + "\n";
constantName = "\tpublic final static String " + property.replace(".", "_").toUpperCase() + " = " + property;
System.out.println(note + constantName);
}
System.out.println("}");
}

}
分享到:
评论

相关推荐

    java代码自动生成器(仅修改配置即ok)

    HI,all 现发布rapid-generator的预览版本。只供群内部同学预览使用。...generator.properties 文件中的所有属性,直接引用,没有前缀 gg : 模板控制变量, cn.org.rapid_framework.generator.GeneratorControl

    oa_system.zip

    办公自动化(OA)是面向组织的日常... OasysApplication.java中的main方法运行,控制台没有报错信息,数据启动时间多久即运行成功 6. 在浏览器中输入localhost:8088/logins 下载后运行有问题,可csdn私信我帮忙解决。

    Java开发详解.zip

    020507_【第5章:面向对象基础】_String类的常用方法.pdf 020508_【第5章:面向对象基础】_引用传递及其应用笔记.pdf 020509_【第5章:面向对象基础】_this关键字笔记.pdf 020510_【第5章:面向对象基础】_static...

    Java基础知识点总结.docx

    Java.util.Properties 103 介绍IO包中扩展功能的流对象 103 十七、 网络编程 110 网络基础之网络协议篇 111 UDP传输 124 TCP传输 126 十八、 反射技术 127 十九、 Ajax原理及实现步骤★★★★★ 130 Ajax概述 130 ...

    JAVA代码生成工具

    类似ant可以变量引用,引用环境变量使用${env.JAVA_HOME}, 引用System.getProperties()直接引用 2.自动替换generator.properties中的句号(.)为反斜杠,设置key为key+"_dir"后缀 示例: pkg=...

    mybatis自动生成工具

    类似ant可以变量引用,引用环境变量使用${env.JAVA_HOME}, 引用System.getProperties()直接引用 2.自动替换generator.properties中的句号(.)为反斜杠,设置key为key+"_dir"后缀 示例: pkg=...

    [android平台][获取手机IMSI、IMEI、序列号及手机号的用法]

    注意:在使用 `android.os.SystemProperties` 类时,需要将 Android SDK 目录下的 `layoutlib.jar` 文件添加到当前工程的附加库路径中。 3. 获取设备的 ANDROID_ID 如果 Android Pad 没有 IMEI,可以使用以下方法...

    android平台获取手机IMSI,IMEI ,序列号,和 手机号的方法

    需要注意的是,在 Android 8.0 及更高版本中, SystemProperties.get() 方法已经被废弃,需要使用 TelephonyManager.getDeviceId() 方法来获取 IMEI 号。 3. 获取序列号 Android 设备的序列号可以通过多种方法来...

    张孝祥Java就业培训教程.pdf

    在第二章中,全面地讲解Java的基本语法知识,对基本语法的讲解也不是泛泛而谈,而是在其中贯穿各种实际应用中的巧妙用法和注意事项。在第三章和第四章中,透彻系统地讲解了面向对象的思想和应用。在以后的章节中,用...

    JMS与Spring之一(用JmsTemplate同步收发消息)

    java.naming.security.principal=system java.naming.security.credentials=manager connectionFactoryNames = QueueCF queue.queue1 = jms.queue1 接着,需要创建app-context.xml文件,用于配置Spring的应用程序上...

    sslpoke:用于测试Java中TLS连接建立的工具

    用法: 阳性测试:java -jar sslpoke.jar www.github.com 443 您应该得到以下信息: connecting to www.github.com:443 with the following system and security properties:java.version: System: 1.8.0_251java....

    ZendFramework中文文档

    14.1.3. 使用静态 get() 方法 14.2. 标准过滤器类 14.2.1. Alnum 14.2.2. Alpha 14.2.3. BaseName 14.2.4. Digits 14.2.5. Dir 14.2.6. HtmlEntities 14.2.7. Int 14.2.8. RealPath 14.2.9. StringToLower...

    hibernate3.04中文文档.chm

    符合Java习惯的关系数据库持久化 目录 前言 1. 翻译说明 2. 版权声明 1. 在Tomcat中快速上手 1.1. 开始Hibernate之旅 1.2. 第一个持久化类 1.3. 映射cat 1.4. 与Cat同乐 1.5. 结语 2. Hibernate入门 ...

    达梦数据库的连接配置

    达梦数据库的连接配置是指在 Java 应用程序中连接达梦数据库的过程。该过程主要包括两个方面:JDBC 连接和 iBatis 连接设置。 JDBC 连接 JDBC(Java Database Connectivity)是 Java 应用程序与数据库的接口规范,...

    好用的代码生成源码

    充分利用各种文件的注释 如在.xml中我们可以使用 在.properties文件中我们可以使用 #generator-insert-location 具体请查看template/insert_demo目录的内容 生成器参数配置 通过设置GeneratorProperties.set...

    java 面试题 总结

    子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...

    java开发oa办公系统源码-oa_system:oa_system

    java开发oa办公系统源码 oa_system(OA自动化办公系统) 办公自动化(OA)是面向组织...OasysApplication.java中的main方法运行,控制台没有报错信息,数据启动时间多久即运行成功 6. 在浏览器中输入localhost:

    【ASP.NET编程知识】Asp.Net使用Npoi导入导出Excel的方法.docx

    ASP.NET 使用 Npoi 导入导出 Excel 的方法 ASP.NET 是一个广泛应用于 Web 开发的框架,它提供了强大的功能来处理各种数据,包括 Excel 文件。Excel 文件是微软公司开发的一种电子表格文件格式,广泛应用于数据处理...

    webx3框架指南PDF教程附学习Demo

    现在有很多Java的Web框架可供选择,并且它们也都是免费的。例如: • Struts • Webwork • Tapestry • Spring MVC 以上框架都是非常优秀的。说实话,如果阿里巴巴网站在2001年开始,就有这么多可选择的话,...

Global site tag (gtag.js) - Google Analytics