public?class?FileReaderDemo?{
成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括吉木薩爾網(wǎng)站建設(shè)、吉木薩爾網(wǎng)站制作、吉木薩爾網(wǎng)頁制作以及吉木薩爾網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,吉木薩爾網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到吉木薩爾省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
public?static?void?main(String[]?args)?{
try?{
//創(chuàng)建要讀取的數(shù)據(jù)文件的文件對象?file
File?file?=?new?File("d:\\data.txt");
//創(chuàng)建要讀取數(shù)據(jù)的輸入流
FileReader?fileReader?=?new?FileReader(file);
//從輸入流中讀取一個字符;
int?c?=?fileReader.read();
//判斷是否讀取到文件結(jié)束,如果讀取到文件的最后會返回-1
while?(c!=-1)?{
//輸出讀取的這個字符
System.out.println((char)c);
//再讀取下一個字符
c?=?fileReader.read();
}
//所有讀取完畢后,關(guān)閉fileReader對象,要求不管前面是否拋出異常,
//都必須要執(zhí)行關(guān)閉操作。
fileReader.close();
}?catch(Exception?e)?{
e.printStackTrace();
}
}
}
public Date getTimeToOverClass() throws ParseException{
String time = "2011-11-1 17:00:00";
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = f.parse(time);
return d;
}
ParseException 解析異常.
這種是發(fā)生異常時候,不去try catch 這個異常,一般try catch異常后,在catch里面要將這個異常進(jìn)行處理。而這種在方法名后面直接throws 是將異常直接拋出,意思就是發(fā)生異常了不做處理,將異常拋給調(diào)用這個方法的人去處理。比如你在main方法里面調(diào)用了這個方法,那你main方法就要做處理,可以用try catch來處理,也可以同樣不做處理,在main方法名后,繼續(xù)拋出。
import java.util.Scanner;
public class ExceptionDemo {
public static void main(String[] args) {
double op1,op2,r;
Scanner sc=new Scanner(System.in);
System.out.println("請輸入兩個double型的參數(shù)");
op1=sc.nextDouble();
op2=sc.nextDouble();
try {
r=div(op1,op2);
}
catch(MyException ex) {
System.out.println(ex.getMessage());
do {
System.out.println("除數(shù)為0,請重新輸入操作數(shù)2的值!");
op2=op2=sc.nextDouble();
}while(0==op2);
}
finally {
System.out.println(""+op1+"/"+op2+"的結(jié)果是:"+(op1/op2));
}
sc.close();
}
static double div(double op1,double op2) throws MyException {
if(0==op2) {
throw new MyException("自定義異常,除數(shù)為0異常");
}
return op1/op2;
}
}
class MyException extends Exception {
MyException(String msg) {
super(msg);
}
}
Java通過面向?qū)ο蟮姆椒ㄟM(jìn)行異常處理,把各種不同的異常進(jìn)行分類,并提供了良好的接口。在Java中,每個異常都是一個對象,它是Throwable類或其它子類的實(shí)例。當(dāng)一個方法出現(xiàn)異常后便拋出一個異常對象,該對象中包含有異常信息,調(diào)用這個對象的方法可以捕獲到這個異常并進(jìn)行處理。Java的異常處理是通過5個關(guān)鍵詞來實(shí)現(xiàn)的:try、catch、throw、throws和finally。一般情況下是用try來執(zhí)行一段程序,如果出現(xiàn)異常,系統(tǒng)會拋出(throws)一個異常,這時候你可以通過它的類型來捕捉(catch)它,或最后(finally)由缺省處理器來處理。\x0d\x0a用try來指定一塊預(yù)防所有異常的程序。緊跟在try程序后面,應(yīng)包含一個catch子句來指定你想要捕捉的異常的類型。\x0d\x0athrow語句用來明確地拋出一個異常。\x0d\x0athrows用來標(biāo)明一個成員函數(shù)可能拋出的各種異常。\x0d\x0a可以在一個成員函數(shù)調(diào)用的外面寫一個try語句,在這個成員函數(shù)內(nèi)部寫另一個try語句保護(hù)其他代碼。每當(dāng)遇到一個try語句,異常的框架就放到堆棧上面,直到所有的try語句都完成。