`

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=...

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

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

    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入门 ...

    好用的代码生成源码

    充分利用各种文件的注释 如在.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:

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

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

    玩转模板--自动代码生成工程

    6. 还原备份: 调用FileUtilsExt.recover(String backupDir)方法. 7. 从数据库表合成文件: 调用PlayTemplates的main方法 8. 从EXCEL和成文件: 调用ExcelUtils的main方法 详细说明: 1.自动封装用户参数 参数配置文件...

    springmybatis

    MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm工具的基本思想 无论是用过的hibernate,mybatis,你都可以法相他们有一个...

    Spring.net框架

    在上面这段代码中,重点注意三条命令的使用方法: assembly = Assembly.LoadFile(rootPath + prop.assemblyName); p = assembly.CreateInstance(prop.typeName); t.InvokeMember(prop.propertyName, BindingFlags....

    Ant 1.9.2 API (CHM格式)

    注: FileSet的setIncludes, 和setExcludes方法输入pattern, pattern是一个使用“,”或空格分隔的匹配字符串,其中, “**”代表所有文件或目录,“*.*”代表说有文件, “*.java”代表所有扩展名为java的文件。...

    [开源]用SWT/JFace实现的放大镜软件jZoomer v1.2.0(附源码)

    jZoomer开源项目主页: ... JExplorer实现,初步了解JFace框架的设计思想,了解Action的使用方法 <br>20070730 1. ColorPicker实现,其中含有部分放大镜功能,但有内存溢出Bug

Global site tag (gtag.js) - Google Analytics