System类
System类包含一些有用的类字段和方法。它不能被实例化。
在System类提供的设施中,有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。
System 可以描述系统文件使用的静态方法
System 读取系统在加载信息数据
例子1
importjava.util.Properties;
/**
* System得到静态的方法和静态属性
*@author dell
*
*/
publicclass TestSystem {
publicstaticvoid main(String[] args) {
Properties properties = System.getProperties();
//Properties 也是hashTanle的子类
System.out.println("系统名称" + properties.get("os.name"));//系统名称
for(Object obj:properties.keySet()){
System.out.println(obj.toString());//打印系统在加载所获得的属性信息
}
}
}
运行结果,打印出系统信息
系统名称Windows 7
java.runtime.name //运行环境
sun.boot.library.path //sun lib 路径
java.vm.version //虚拟机版本
java.vm.vendor
java.vendor.url
path.separator
java.vm.name //虚拟机名字
file.encoding.pkg
user.country
user.script
sun.java.launcher
sun.os.patch.level
java.vm.specification.name
user.dir
java.runtime.version
java.awt.graphicsenv
java.endorsed.dirs
os.arch
java.io.tmpdir
line.separator
java.vm.specification.vendor
user.variant
os.name//系统名称
sun.jnu.encoding
java.library.path
java.specification.name
java.class.version
sun.management.compiler
os.version
user.home//用户
user.timezone
java.awt.printerjob
file.encoding
java.specification.version
java.class.path
user.name
java.vm.specification.version
sun.java.command
java.home
sun.arch.data.model
user.language
java.specification.vendor
awt.toolkit
java.vm.info
java.version
java.ext.dirs
sun.boot.class.path
java.vendor
file.separator
java.vendor.url.bug
sun.io.unicode.encoding
sun.cpu.endian
sun.desktop
sun.cpu.isalist
RunTime类
每个 Java 应用程序都有一个Runtime类实例,使应用程序能够与其运行的环境相连接。可以通过getRuntime方法获取当前运行时。Java程序是跨平台的,Runtime 这个类可以执行与其同与一个计算器的应用程序。
Runtime 打开电脑程序上程序
packageorg.nagi.base;
importjava.io.IOException;
/**
* Runtime对象
*该类是没有构造方法的
*不能new 只能经静态方法得到
*可以执行我们电脑里面程序
*每个 Java 应用程序都有一个 Runtime类实例,
*使应用程序能够与其运行的环境相连接。可以通过 getRuntime方法获取当前运行时。
*@author dell
*/
publicclass ThreadTest {
publicstaticvoid main(String[] args)throws IOException {
//说明Runtime是单利模式
Runtime runtime = Runtime.getRuntime();
//调用runtime对象执行计算机上的程序
Process p = runtime.exec("C:\\ProgramFiles\\KuGou\\KGMusic\\KuGou.exe");
//p.destroy();杀死进程
}
}
注:当Runtime 对象去程序找应用程序时,它首先是去环境变量里面找,如果是找不到的话会报出IO异常。
进程类 Process
abstract void
destroy()
杀掉子进程。
abstract int
exitValue()
返回子进程的出口值。
abstractInputStream
getErrorStream()
获取子进程的错误流。
abstractInputStream
getInputStream()
获取子进程的输入流。
abstractOutputStream
getOutputStream()
获取子进程的输出流。
abstract int
waitFor()
导致当前线程等待,如有必要,一直要等到由该 Process 对象表示的进程已经终止。
日期处理:Date
类Date表示特定的瞬间,精确到毫秒。
当对一个日期和时间格式化表示可以使用SimpleDateFormat
构造方法摘要
SimpleDateFormat()
用默认的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
SimpleDateFormat(String pattern)
用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
SimpleDateFormat(String pattern, DateFormatSymbols formatSymbols)
用给定的模式和日期符号构造 SimpleDateFormat。
SimpleDateFormat(String pattern, Locale locale)
用给定的模式和给定语言环境的默认日期格式符号构造 SimpleDateFormat。
比配的数据类型
日期和时间模式
结果
“yyyy.MM.dd G ‘at’ HH:mm:ss z”
2001.07.04 AD at 12:08:56 PDT
“EEE, MMM d, ‘’yy”
Wed, Jul 4, ‘01
“h:mm a”
12:08 PM
“hh ‘o’’clock’ a, zzzz”
12 o’clock PM, Pacific Daylight Time
“K:mm a, z”
0:08 PM, PDT
“yyyyy.MMMMM.dd GGG hh:mm aaa”
02001.July.04 AD 12:08 PM
“EEE, d MMM yyyy HH:mm:ss Z”
Wed, 4 Jul 2001 12:08:56 -0700
“yyMMddHHmmssZ"
010704120856-0700
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"
2001-07-04T12:08:56.235-0700
例子:
import java.text.SimpleDateFormat;
importjava.util.Date;
/**
* java日期处理
*@author dell
*/
publicclassTestDate {
publicstaticvoid main(String[] args) {
Date d = new Date();//定义一个日期对象
SimpleDateFormat s = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");//格式话一个日期对象
System.out.println(s.format(d));//对日期对象进行必配
}
}
取得某年某月某日:使用Calender对象来获取
取得日期字段:
YEAR + MONTH +DAY_OF_MONTH
YEAR + MONTH +WEEK_OF_MONTH + DAY_OF_WEEK
YEAR + MONTH +DAY_OF_WEEK_IN_MONTH + DAY_OF_WEEK
YEAR + DAY_OF_YEAR
YEAR + DAY_OF_WEEK+ WEEK_OF_YEAR
对于时间字段:
HOUR_OF_DAY
AM_PM + HOUR
Calendar 的使用
Calendar 提供了一个类方法getInstance,以获得此类型的一个通用的对象。Calendar 的getInstance 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化:
Calendar rightNow = Calendar.getInstance();
rightNow.get(//静态方法)
static int
DAY_OF_MONTH
get 和 set 的字段数字,指示一个月中的某天。
static int
DAY_OF_WEEK
get 和 set 的字段数字,指示一个星期中的某天。
static int
DAY_OF_WEEK_IN_MONTH
get 和 set 的字段数字,指示当前月中的第几个星期。
static int
DAY_OF_YEAR
get 和 set 的字段数字,指示当前年中的天数。
例子:
importjava.util.Calendar;
/**
*得到日期某年某月某日
*使用Calendar来取得
*@author dell
*/
publicclass TestCalendar {
publicstaticvoid main(String[] args) {
//使用查表法
String mos[] = {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
Calendar rightNow = Calendar.getInstance();//格式话一个日期对象
rightNow.set(2014, 8, 1);
rightNow.add(Calendar.MONTH, 10);//日期的加法
rightNow.add(Calendar.MONTH, -8);//日期的减法
int index = rightNow.get(Calendar.MONTH);
System.out.println(rightNow.get(Calendar.YEAR) + mos[index]+rightNow.get(Calendar.DAY_OF_MONTH));//得到一年第几个星期
}
}