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/