System/Runtime/Calendor系统常用类
---------android培训
、ava 培训 、期待与您交流! ----------
System类
System
类包含一些有用的类字段和方法。它不能被实例化。
在System
类提供的设施中,有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。
System 可以描述系统文件使用的静态方法
static PrintStream |
err “标准”错误输出流。 |
static InputStream |
in “标准”输入流。 |
static PrintStream |
out “标准”输出流。 |
获得系统属性信息:System.getProperties()
方法摘要 |
|
static void |
arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。 |
static String |
clearProperty(String key) 移除指定键指示的系统属性。 |
static Console |
console() 返回与当前 Java 虚拟机关联的唯一 Console 对象(如果有)。 |
static long |
currentTimeMillis() 返回以毫秒为单位的当前时间。 |
static void |
exit(int status) 终止当前正在运行的 Java 虚拟机。 |
static void |
gc() 运行垃圾回收器。 |
static Map<String,String> |
getenv() 返回一个不能修改的当前系统环境的字符串映射视图。 |
static String |
getenv(String name) 获取指定的环境变量值。 |
static Properties |
getProperties() 确定当前的系统属性。 |
static String |
getProperty(String key) 获取指定键指示的系统属性。 |
static String |
getProperty(String key, String def) 获取用指定键描述的系统属性。 |
static SecurityManager |
getSecurityManager() 获取系统安全接口。 |
static int |
identityHashCode(Object x) 返回给定对象的哈希码,该代码与默认的方法 hashCode() 返回的代码一样,无论给定对象的类是否重写 hashCode()。 |
static Channel |
inheritedChannel() 返回从创建此 Java 虚拟机的实体中继承的信道。 |
static void |
load(String filename) 从作为动态库的本地文件系统中以指定的文件名加载代码文件。 |
static void |
loadLibrary(String libname) 加载由 libname 参数指定的系统库。 |
static String |
mapLibraryName(String libname) 将一个库名称映射到特定于平台的、表示本机库的字符串中。 |
static long |
nanoTime() 返回最准确的可用系统计时器的当前值,以毫微秒为单位。 |
static void |
runFinalization() 运行处于挂起终止状态的所有对象的终止方法。 |
static void |
runFinalizersOnExit(boolean value) 已过时。 该方法具有固有的不安全性。它可能对正在使用的对象调用终结方法,而其他线程同时正在操作这些对象,从而导致不正确的行为或死锁。 |
static void |
setErr(PrintStream err) 重新分配“标准”错误输出流。 |
static void |
setIn(InputStream in) 重新分配“标准”输入流。 |
static void |
setOut(PrintStream out) 重新分配“标准”输出流。 |
static void |
setProperties(Properties props) 将系统属性设置为 Properties 参数。 |
static String |
setProperty(String key, String value) 设置指定键指示的系统属性。 |
static void |
setSecurityManager(SecurityManager s) 设置系统安全性。 |
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 这个类可以执行与其同与一个计算器的应用程序。
void |
addShutdownHook(Thread hook) 注册新的虚拟机来关闭钩子。 |
int |
availableProcessors() 向 Java 虚拟机返回可用处理器的数目。 |
Process |
exec(String command) 在单独的进程中执行指定的字符串命令。 |
Process |
exec(String[] cmdarray) 在单独的进程中执行指定命令和变量。 |
Process |
exec(String[] cmdarray, String[] envp) 在指定环境的独立进程中执行指定命令和变量。 |
Process |
exec(String[] cmdarray, String[] envp, File dir) 在指定环境和工作目录的独立进程中执行指定的命令和变量。 |
Process |
exec(String command, String[] envp) 在指定环境的单独进程中执行指定的字符串命令。 |
Process |
exec(String command, String[] envp, File dir) 在有指定环境和工作目录的独立进程中执行指定的字符串命令。 |
void |
exit(int status) 通过启动虚拟机的关闭序列,终止当前正在运行的 Java 虚拟机。 |
long |
freeMemory() 返回 Java 虚拟机中的空闲内存量。 |
void |
gc() 运行垃圾回收器。 |
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() 返回子进程的出口值。 |
abstract InputStream |
getErrorStream() 获取子进程的错误流。 |
abstract InputStream |
getInputStream() 获取子进程的输入流。 |
abstract OutputStream |
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
*/
publicclass
TestDate {
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));//得到一年第几个星期
}
}
---------android培训
、ava 培训 、期待与您交流! ----------