資源描述:
《java 流輸入輸出》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、Java流(Stream)、文件(File)和IOJava.io包幾乎包含了所有操作輸入、輸出需要的類。所有這些流類代表了輸入源和輸出目標(biāo)。Java.io包中的流支持很多種格式,比如:基本類型、對(duì)象、本地化字符集等等。一個(gè)流可以理解為一個(gè)數(shù)據(jù)的序列。輸入流表示從一個(gè)源讀取數(shù)據(jù),輸出流表示向一個(gè)目標(biāo)寫數(shù)據(jù)。Java為I/O提供了強(qiáng)大的而靈活的支持,使其更廣泛地應(yīng)用到文件傳輸和網(wǎng)絡(luò)編程中。但本節(jié)講述最基本的和流與I/O相關(guān)的功能。我們將通過(guò)一個(gè)個(gè)例子來(lái)學(xué)習(xí)這些功能。讀取控制臺(tái)輸入Java的控制臺(tái)輸入由System.in完成。為了獲得一個(gè)綁定到控制臺(tái)的字符流,你可以把System.in包裝在一個(gè)
2、BufferedReader對(duì)象中來(lái)創(chuàng)建一個(gè)字符流。下面是創(chuàng)建BufferedReader的基本語(yǔ)法:BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));BufferedReader對(duì)象創(chuàng)建后,我們便可以使用read()方法從控制臺(tái)讀取一個(gè)字符,或者用readLine()方法讀取一個(gè)字符串。從控制臺(tái)讀取多字符輸入從BufferedReader對(duì)象讀取一個(gè)字符要使用read()方法,它的語(yǔ)法如下:intread()throwsIOException每次調(diào)用read()方法,它從輸入流讀取一個(gè)字符并把該字符作為
3、整數(shù)值返回。當(dāng)流結(jié)束的時(shí)候返回-1。該方法拋出IOException。下面的程序示范了用read()方法從控制臺(tái)不斷讀取字符直到用戶輸入"q"。//使用BufferedReader在控制臺(tái)讀取字符importjava.io.*;publicclassBRRead{publicstaticvoidmain(Stringargs[])throwsIOException{charc;//使用System.in創(chuàng)建BufferedReaderBufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));System.out.
4、println("Entercharacters,'q'toquit.");//讀取字符do{c=(char)br.read();System.out.println(c);}while(c!='q');}}以上實(shí)例編譯運(yùn)行結(jié)果如下:Entercharacters,'q'toquit.123abcq123abcq從控制臺(tái)讀取字符串從標(biāo)準(zhǔn)輸入讀取一個(gè)字符串需要使用BufferedReader的readLine()方法。它的一般格式是:StringreadLine()throwsIOException下面的程序讀取和顯示字符行直到你輸入了單詞"end"。//使用BufferedReader在控
5、制臺(tái)讀取字符importjava.io.*;publicclassBRReadLines{publicstaticvoidmain(Stringargs[])throwsIOException{//使用System.in創(chuàng)建BufferedReaderBufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));Stringstr;System.out.println("Enterlinesoftext.");System.out.println("Enter'end'toquit.");do{str=br.read
6、Line();System.out.println(str);}while(!str.equals("end"));}}以上實(shí)例編譯運(yùn)行結(jié)果如下:Enterlinesoftext.Enter'end'toquit.ThisislineoneThisislineoneThisislinetwoThisislinetwoendend控制臺(tái)輸出在此前已經(jīng)介紹過(guò),控制臺(tái)的輸出由print()和println()完成。這些方法都由類PrintStream定義,System.out是該類對(duì)象的一個(gè)引用。PrintStream繼承了OutputStream類,并且實(shí)現(xiàn)了方法write()。這樣,writ
7、e()也可以用來(lái)往控制臺(tái)寫操作。PrintStream定義write()的最簡(jiǎn)單格式如下所示:voidwrite(intbyteval)該方法將byteval的低八位字節(jié)寫到流中。實(shí)例下面的例子用write()把字符"A"和緊跟著的換行符輸出到屏幕:importjava.io.*;//演示System.out.write().publicclassWriteDemo{publicstaticvoidmain(String