转贴 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中,我们可以使用`java.util.Properties`类来读取和操作这些文件。以下是一个简单的示例,展示如何读取`.properties`文件: ```java import java.io.FileInputStream; import java.io.IOException; import ...
在Java编程语言中,`System.getProperty`方法是一个非常实用且重要的功能,用于获取与系统相关的属性信息。这些属性包括但不限于操作系统、Java运行环境版本、安装目录等关键信息,对于理解和调试程序运行环境有着不...
在Java编程中,`.properties`文件是用于存储配置信息的标准格式,这些信息通常包含应用程序运行时所需的设置。`.properties`文件以键值对的形式组织,其中键和值由等号分隔,例如`key=value`。Java提供了内置的`...
下面将详细介绍几种在Java中读取`.properties`配置文件的方法。 1. 使用`java.util.Properties`类 `Properties`类是Java提供的一种内置机制,用于处理属性列表。它继承了`Hashtable`类,提供了加载和保存属性列表...
### 方法一:使用`java.util.Properties` Java标准库提供了一个`Properties`类,专门用于处理`.properties`文件。以下是一个简单的示例: ```java import java.io.IOException; import java.io.InputStream; ...
`load()`方法将文件内容加载到`Properties`对象中,之后我们可以使用`getProperty()`方法获取特定的属性值。 此外,对于大型项目,可能需要更高级的解决方案,例如使用Spring框架的`@Value`注解或`@...
`.properties`文件是Java编程语言中广泛使用的配置文件格式,主要用于存储键值对数据。本文将深入探讨如何进行`.properties`配置文件的操作,包括增加、删除和修改其内容。 首先,`.properties`文件的格式非常简单...
本文将详细介绍Java中读取Properties文件的六种方法,以及在Web应用环境下的一种额外方式。 ### 方法一:使用`java.util.Properties`类的`load()`方法 这是最直接的方法,通过创建`Properties`对象并调用其`load()...
《log4j.properties 使用详解》 在Java开发中,日志记录是一项不可或缺的工作,它能够帮助开发者追踪程序运行状态,定位错误,优化性能。而log4j作为一款强大的日志框架,广泛应用于各种Java项目中。本文将详细介绍...
要读取`properties`文件,我们首先需要创建一个`Properties`对象,然后使用`load()`方法从输入流中加载文件内容。以下是一个基本示例: ```java import java.io.FileInputStream; import java.io.IOException; ...
在Java编程中,`System.getProperties()`是一个非常实用的方法,它允许开发者访问和获取当前Java运行环境的各种系统属性。这些属性包含了关于Java运行时环境的重要信息,如版本、供应商等,以及操作系统的一些基本...
在Java语言中,读取配置文件是一个非常重要的知识点,今天我们将为大家分享关于Java语言读取配置文件config.properties的方法讲解。 首先,我们需要了解为什么需要读取配置文件。在实际项目中,路径的配置是一个...
这种方法是通过`InputStream`加载一个`Properties`对象,然后使用`load()`方法来读取`Properties`文件中的内容。这种方法适用于任何类型的`InputStream`。 **代码示例:** ```java import java.io.FileInputStream...
方法一:使用`java.util.Properties`类 1. 首先,我们需要创建一个`properties`文件,例如命名为`config.properties`,并将它放在项目的`src/main/resources`目录下。这个目录在编译后会包含在类路径(classpath)...
本篇文章将深入探讨如何使用Java中的`java.util.Properties`类来读取这些配置文件,包括基本用法、方法解释、代码示例及测试案例。 `Properties`类是Java标准库的一部分,专门设计用来处理键值对的存储,常用于存储...
#### 一、使用 `java.util.Properties` 类的 `load()` 方法 这是最常用的方法之一。通过创建一个输入流,然后利用 `Properties` 对象的 `load()` 方法加载数据。 ```java import java.io.FileInputStream; import ...
3. **使用绝对路径**:如果在代码中使用`System.loadLibrary("tcnative-1")`,可以考虑改为使用库文件的绝对路径。 4. **配置应用服务器**:对于像Tomcat这样的应用服务器,可以在其配置文件(如`catalina....
Spring Boot 框架提供了多种方式来进行外部配置,今天我们将详细讲解使用 application.properties 文件来进行外部配置的方法。application.properties 文件是 Spring Boot 中的一个默认配置文件,用于存储可以手动...
总结,Java中读取properties文件的方法包括使用Properties类加载文件、通过ClassLoader获取类路径下的文件以及利用try-with-resources语句进行资源管理。根据具体的应用场景,选择合适的方法可以更高效地处理配置...