`

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

分享到:
评论

相关推荐

    Spring Cloud Feign统一设置验证token实现方法解析

    在这里,我们可以使用System.setProperty来设置token信息,以便在微服务之间的调用中传递token信息。 在FeignBasicAuthRequestInterceptor中,我们可以使用RequestTemplate来设置token信息: ```java public class ...

    云苍穹开发一些实例代码

    System.setProperty("dubbo.consumer.url", "dubbo://localhost:20880"); System.setProperty("dubbo.consumer.url.qing", "dubbo://localhost:30880"); System.setProperty("dubbo.registry.register", "false"); ...

    java对properties配置文件的读和写

    1.3.1 先读取文件,然后修改键值对:与读取类似,先加载文件内容,然后使用`setProperty()`更新或添加新的键值对。 ```java properties.setProperty("name", "李四"); properties.setProperty("age", "222"); ...

    JAVA获取项目路径.doc

    尽管与路径获取不直接相关,但可以看出Selenium WebDriver在初始化时也需要设置驱动路径,这同样可以通过 `System.setProperty()` 方法完成。 ```java System.setProperty("webdriver.chrome.driver", "C:/Program ...

    基于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...

    使用jtds连接sqlserver2000数据库doc文档

    props.setProperty("instanceName", "your_instance_name"); // 如果是命名实例 props.setProperty("databaseName", "your_database_name"); ``` 3. **建立连接**:使用`DriverManager.getConnection()`方法创建...

    JAVA高手解析XML配置文件的读取操作

    props.setProperty("dbhost", currentValue.toString().trim()); } else if (currentName.equals("dbuser")) { props.setProperty("dbuser", currentValue.toString().trim()); } else if (currentName.equals(...

    phantomjs1.9.8历史版本用于爬虫

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

    java读取和保存property文件(可含中文)

    props.setProperty("password", "654321"); // 修改密码 ``` 2. 保存修改到文件: ```java try { FileOutputStream fos = new FileOutputStream("config.properties"); props.store(fos, null); // 存储...

    java system类使用方法示例 获取系统信息

    System.setProperty("custom.key", "custom.value"); String customValue = System.getProperty("custom.key"); System.out.println("自定义属性值:" + customValue); ``` 5. **标准输入与输出流**: System...

    JAVA读取环境变量

    prop.setProperty(key, value); } } return prop; } // 主函数 public static void main(String[] args) { try { Test sp = new Test(); Properties p = sp.getEnv(); System.out.println(p.getProperty...

    java的property配置文件的用法.txt

    properties.setProperty("existingKey", "updatedValue"); // 保存到文件 saveProperties("config.properties"); ``` #### 五、其他常用方法 `Properties`类还提供了一些其他有用的方法,如: - `containsKey(key)...

    java.lang.System类.pdf

    - `setProperties()`和`setProperty()`可以用来设置系统属性。 5. **资源管理**: - `gc()`触发垃圾收集器运行,清理不再使用的对象。 - `exit()`方法用于退出Java虚拟机,传入的参数表示退出状态码。 - `load...

    c# 自定义特性

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

    SystemPropertiesJava:系统属性Java

    这可以通过`System.setProperty(key, value)`方法实现,其中`key`是属性的键,`value`是对应的值。 3. **命令行参数-D** 在启动Java应用时,可以使用`-D`选项设定系统属性。例如,`java -Dmy.property=value ...

    原型模式示例原型模式示例

    public void setProperty(String property) { this.property = property; } } // 客户端代码 public class PrototypeDemo { public static void main(String[] args) { ConcretePrototype prototype1 = new ...

    java读取属性文件

    - 如果需要修改属性文件,可以使用`setProperty()`方法,然后调用`store()`方法保存到文件。 ```java props.setProperty("database.password", "newPassword"); FileOutputStream fos = new FileOutputStream(...

    C# COM反射Excel

    objExcel.GetType().InvokeMember("DisplayAlerts", System.Reflection.BindingFlags.SetProperty, null, objExcel, parameters); ``` 接下来设置Excel应用程序的一些属性,比如禁用警告对话框、最小化窗口以及隐藏...

    Java System类详解_动力节点Java学院整理

    - `System.setProperty()` 和 `System.getProperty()`:用于设置和获取系统属性。 3. **加载文件和类库**: - `System.load()`:加载指定的本地库文件(.dll或.so)。 - `System.loadLibrary()`:加载指定的本地...

Global site tag (gtag.js) - Google Analytics