`

System.setProperty 与 System.getProperty

    博客分类:
  • Java
阅读更多

转贴 2006-12-19 09:09:40 ] 发表者: ArchLord

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

刚到公司的时候问了主管一个Java中很基础的问题,System.Properties在java中的用法,问得经理都没有回答我,于是自己到网上查阅了一些资料,作为知识界也介绍给大家看一下:

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形式邮件来触发。

分享到:
评论

相关推荐

    基于jacob插件实现 word,excel,ppt 转换 pdf

    app.setProperty("Visible", false); Dispatch workbooks = app.getProperty("Workbooks").toDispatch(); System.out.println("打开文档" + source); Dispatch workbook = Dispatch.invoke(workbooks, "Open...

    phantomjs1.9.8历史版本用于爬虫

     System.setProperty("phantomjs.binary.path", "./phantomjs/win/phantomjs.exe");//设置PhantomJs访问路径 }  DesiredCapabilities desiredCapabilities = DesiredCapabilities.phantomjs();  //设置参数 ...

    c# 自定义特性

    jw = typeof(A).GetProperty("property").GetCustomAttributes(typeof(JWAttribute), false).Single() as JWAttribute; Console.WriteLine(jw.param2); jw = typeof(A).GetMember("fun").Single()....

    flash action script 经典字典教程大全,学flash必备

    addProperty Object.addProperty() addRequestHeader LoadVars.addRequestHeader()、XML.addRequestHeader() align Stage.align、TextFormat.align allowDomain LocalConnection.allowDomain、System.security...

    带注释的Bootstrap.java

    System.setProperty( Globals.CATALINA_HOME_PROP, catalinaHomeFile.getPath()); // Then base String base = System.getProperty(Globals.CATALINA_BASE_PROP); //设置catalinaBaseFile if (base == null)...

    属性文件读写(java)

    this.pro.setProperty(key, value); OutputStream os = getPropertyFileOutputStream(); try { pro.store(os, comments); os.close(); } catch (IOException e) { e.printStackTrace(); ...

    word表格格式

    //xlLine = 4 oChart.GetType().InvokeMember("ChartType", BindingFlags.SetProperty, null, oChart, Parameters); <br>//Update the chart image and quit MSGraph. oChartApp.GetType()....

    jsp结合javabean的实践

    <jsp:setProperty name="rd" property="path" value="d:/testsongyc.txt" /> Id:是类的代号 property:是属性名 value:是属性的值 3、取值 <jsp:getProperty id="localName" property="name" /> Id:是类的...

    springmybatis

    public void setId(int id) { this.id = id; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getUserAge()...

    jacob直接操作Excel图表函数

    xl setProperty "Visible" new Variant false ; Dispatch workbooks xl getProperty "Workbooks" toDispatch ; Dispatch workbook Dispatch invoke workbooks "Open" ...

    Java开发技术大全 电子版

    13.2System类的使用395 13.2.1利用currentTimeMillis()记录程序执行的时间395 13.2.2利用exit()退出虚拟机396 13.2.3获取和设置环境属性397 13.3Math类的使用398 13.3.1利用随机数求π值398 13.3.2利用三角...

    java 面试题 总结

     Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 10、&和&&的区别。 &是位运算符...

    超级有影响力霸气的Java面试题大全文档

     Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 13、&和&&的区别。 &是位运算符...

Global site tag (gtag.js) - Google Analytics