System类
温习提示:该类在java.lang包中,且该类中的方法和属性都是静态的。
ps:
static InputStream in;“标准”输入流;
static OutputStream in:“标准”输出流;
练习:系统的属性信息。
1、获取系统属性信息。
思考:如何获取系统属性信息。我们可以查找System的API,发现有一个方法:static Properties getProperties()确定当前的系统属性;可知它返回的是Properties类型的值,Properties是java.util包中的一个工具类。
Map
|--HashMap
|--TreeMap
|--HashTable
|--Propertise
由上可知,Properties是一个集合,可以使用Map中的方法取出该集合中的元素。特殊之处:该集合中键和值都是字符串类型,没有涉及到泛型。
代码:
import java.util.*;
class SystemDemo
{
public static void main(String[] args)
{
Properties pro=System.getProperties();
for(Object obj:pro.keySet())
{
String value=(String)pro.get(obj);
System.out.println(obj+""+value);
}
}
}
运行结果如图所示:
2、获取指定属性信息(已存在)
查找System描述,可知有一个方法:static Stirng getProperty(String key)获取指定键指示的系统属性。
代码:
import java.util.*;
class SystemDemo
{
public static void main(String[] args)
{
String value=System.getProperty("os.name");
System.out.println("value="+value);
}
}
运行结果如下图所示:
3、获取指定属性信息(不存在)
此时我们可以在jvm启动时,动态加载一些属性信息。
通过命令:java -D haha=qqqq(任意)SystemDemo
代码:
import java.util.*;
class SystemDemo
{
public static void main(String[] args)
{
//假设键haha不存在。
String value=System.getProperty("haha");
System.out.println("value="+value);
}
}
运行结果如下图所示:
4、在系统中自定义一些特有信息
查找System描述,可知有一个方法:static Stirng setProperty(String key,String value) 设置指定键指示的系统属性。
代码:
import java.util.*;
class SystemDemo
{
public static void main(String[] args)
{
System.setProperty("mykey","myvalue");
String value=System.getProperty("mykey");
System.out.println("value="+value);
}
}
运行结果如图下所示:
2015-12-15著