System:类中的方法和属性都是静态的。
常用方法:
out:标准输出,默认是控制台。
in:标准输入,默认是键盘。
Properties getProperties();获取系统属性信息。因为Properties是Hashtable的子类,也就是Map集合的一个子类对象。那么可以通过map的方法取出该集合中的元素。该集合中存储的都是字符串。没有泛型定义。
setProperties("mykey""myvalue");自定义一些特有的信息。
java -Dhaha=pppp SystemDemo在启动JVM时,动态加载一些属性信息。
import java.util.Properties;
public class SystemDemo
{
/**
* @系统信息 */
public static void main(String[] args)
{
Properties prop=System.getProperties();//获取系统信息
System.setProperty("mykey","myvalue");//设置自定义的系统信息
String myvalue=prop.getProperty("mykey");//获取特定的属性信息
System.out.println(myvalue);
for(Object obj:prop.keySet())
{
String value=(String)prop.get(obj);
System.out.println(obj+","+value);
}
}
}
Runtime对象:每个Java应用程序都有一个Runtime类实例,使应用程序能够与其运行的环境相连接。可以通过getRuntime方法获取当前运行时。该类并没有提供构造函数。说明不可以new对象。那么会直接想到该类中的方法都是静态的。发现该类中还有非静态方法。说明该类肯定会提供了方法获取本类对象。而且该方法是静态的,并返回值类型是本类类型。由这个特点可以看出该类使用了单例设计模式完成。
如:Runtime r = Runtime.getRuntime();
Process p = r.exec("winmine.exe");//在引号中可以添加一个文件名,表示由前面的程序执行后面的文件。
P.destroy();//销毁线程。
Date类:
创建新的date对象:Date d = new Date ();
封装日期模式:SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日E hh:mm:ss")
调用format方法让模式格式化指定Date对象:String time = sdf.format(d);
如果要获取单独的年月日,可以通过查表法获取。
Calendar类自定义时间:
Calendar c = Calendar.getInstance();
C.set(2012,02,23);//设置年月日。
向前后推算日期:c.add(Calendar.DAY_OF_MONTH,-18);//负数表示向以前推算,正数表示向以后推算。
import java.util.Calendar;
public class DateDemo2
{
/**
* 单独获取时间中的某一项
*/
public static void main(String[] args)
{
Calendar cal=Calendar.getInstance();
cal.set(2012,07,27);//设置的时间不能超过当前时间。
cal.add(Calendar.MONTH, 1);//将某一项属性向前或向后推指定的量。
//MONTH指示月份的 get 和 set 的字段数字。 这是一个特定与日历的值。一月对应为0;
String[] mons={"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
//星期天为1,为开始。
String[] weeks={"","星期天","星期一","星期二","星期三","星期四","星期五","星期六"};
System.out.print(cal.get(Calendar.YEAR)+"年");
System.out.print(mons[cal.get(Calendar.MONTH)]);
System.out.print(cal.get(Calendar.DAY_OF_MONTH)+"日");
System.out.print(weeks[cal.get(Calendar.DAY_OF_WEEK)]);
}
}
Math接口:
常用方法:
ceil(16.34);//返回大于指定数据的最小整数。
floor (12.34);//小于指定数据的最大整数。
round(12.54);//四舍五入
获取随即0-10整数:int d = (int)(Math.random()*10+1);
方法二:Random r = new Random();
Int d = r.nextInt(10)+1;
IO流:
IO流用来处理设备之间的数据传输。
Java对数据的操作是通过流的方式。
Java用于操作流的对象都在IO包中。
流按照操作数据分为两种:字节流与字符流。
流按照流向分为:输出流,输入流。
字节流的抽象基类:InputStream,OutputStream
字符流的抽象基类:Reader,Writer。
这四个基类派生出来的子类名称都是以其父类名作为子类名的后缀。前缀名一般都是该流对象的功能。
FileWriter类:该类主要是操作文件的。
一般流程:
1.创建一个FileWriter对象。该对象一被初始化就必须要明确被操作的文件。而且该文件会被创建到指定目录下。如果该目录下已有同名文件,将被覆盖。FileWriter fw = new FileWriter("demo.txt");//可以传递一个true参数,代表不覆盖已有的文件,并在已有文件的末尾处进行数据续写。
2.调用write方法,将字符串写入到流中。Fw.write("abcde");
3.刷新流对象中的缓冲中的数据。将数据刷到目的地中。fw.flush();
4.关闭流资源,但是关闭之前会刷新一次内部的缓冲中的数据。将数据刷到目的地中。和flush的区别:flush刷新后,流可以继续使用,closeshuaxin后,会将流关闭。
FileReader:
1.创建一个文件读取流对象,和指定名称的文件相关联。要保证该文件是已经存在的,如果不存在,会发生FileNotFoundException异常。
2.【方法一】调用读取流对象的read方法。一次读一个字符。而且会自动往下读。
2.【方法二】定义一个字符数组。用于存储独到字符。该read(char[])返回的hi读到字符个数。
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class FileReaderDemo
{
/**
* 利用字符数组读取字符流文件。
*/
public static void main(String[] args)
{
try
{
FileReader fr=new FileReader("DateDemo.java");
char[] buf=new char[1024];
int num=0;
if((num=fr.read(buf))!=-1)
{
System.out.println(new String(buf,0,num));
}
fr.close();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
------- android培训、java培训、期待与您交流! ---------- 详细请查看:http://edu.csdn.net/heima/