java中的IO整理-編程開(kāi)發(fā)技術(shù)_第1頁(yè)
java中的IO整理-編程開(kāi)發(fā)技術(shù)_第2頁(yè)
java中的IO整理-編程開(kāi)發(fā)技術(shù)_第3頁(yè)
java中的IO整理-編程開(kāi)發(fā)技術(shù)_第4頁(yè)
java中的IO整理-編程開(kāi)發(fā)技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、java中的io整理-編程開(kāi)發(fā)技術(shù)java中的10整理原文出處:rollenholt寫(xiě)在前面:本文章基本覆蓋了 jevalo的全部?jī)?nèi)容,人眩新10沒(méi)冇涉及,因?yàn)?我想和這個(gè)分開(kāi),以突出那個(gè)的重要性,新10哪一篇文章還沒(méi)有開(kāi)始寫(xiě),估計(jì) 很快就能和大家見(jiàn)而。照舊,文章依舊以例子為主,因?yàn)橹v解內(nèi)容的java書(shū)很 多了,我覺(jué)的學(xué)以致用才是真。代碼是寫(xiě)出來(lái)的,不是看出來(lái)的。最后歡迎人家提岀意見(jiàn)和建議?!景咐?】創(chuàng)建一個(gè)新文件import java io. *;class hellopublic static void main(string args) file f二new file(d:hello.

2、txt);try f. crcatcncwfilco ;catch (exception e) e. printstacktrace ();【運(yùn)行結(jié)果】:程序運(yùn)行之后,在d盤(pán)下會(huì)有一個(gè)名字為hello, txt的文件。【案例2】file類的兩個(gè)常量import java io. *;class hellopublic static void main(string args) system. out. println(file. separator);system, out. prinlln(file. pathseparator);【運(yùn)行結(jié)果】: 此處多說(shuō)兒彳山有些同學(xué)可能認(rèn)為,我直接在wi

3、ndows k使用進(jìn)行分割不行嗎? 當(dāng)然是可以的。但是在limix下就不是了。所以,耍想使得我們的代碼跨平臺(tái), 更加健壯,所以,大家都采用這兩個(gè)常量吧,其實(shí)也多寫(xiě)不了幾行。呵呵、現(xiàn)在我們使用file類中的常量改寫(xiě)上面的代碼:import java io. *;class hellopublic static void main (string args) string f訂ename二d:+f訂e. separator+hello. txt"file f=new file(filename);try f. createnewfile ();catch (exception e) e.

4、 printstacktrace ();你看,沒(méi)有多寫(xiě)多少吧,呵呵。所以建議使用f訂e類中的常量。刪除一個(gè)文件/*刪除一個(gè)文件* */import java. io. *;class hellopublic static void main(string args) string filename=,d:z,+filc. scparator+hcllo. txt"file f=new file(filename);if (f. exists () f. delete ();else system, out. printin ("文件不存在);創(chuàng)建一個(gè)文件夾 /*創(chuàng)建一個(gè)文件

5、夾* */import java. io. *;class hellopublic static void ni3in( str in g args) string filename二"d:"+file separator+,zhelloz,; file f=new file(filename);f. mkdir ();【運(yùn)行結(jié)果】:d盤(pán)下多了一個(gè)hello文件夾列出指定目錄的全部文件(包括隱藏文件):/*使用list列出指定目錄的全部文件* */import javaio.*;class hellopublic static void main(string args)

6、string filename=,/d:z,+file separator;file f=ncw file(filename);string str二f. list();for (int i 二 0; i str.length; i+) system, out. prinlln(stri);【運(yùn)行結(jié)果】:$recycle. bin360360downloads360rec360softmoveconf ig. msidadownloadsdriversbackupecl ipsejava web整合開(kāi)發(fā)和項(xiàng)目實(shí)戰(zhàn)lenovomsocacheprogramprogram filespythonr

7、ecygler. 8f92da15-a229-a4d5-b5ce-5280c8b89c19system volume informationtomcat6 varvod_cache_data新建文件夾(你的運(yùn)行結(jié)果應(yīng)該和這個(gè)不一樣的,呵呵)但是使用list返冋的是string數(shù)組,。而且列出的不是完整路徑,如果想列出 完整路徑的話,需要使用listfiles.他返回的是file的數(shù)組 列出指定目錄的全部文件(包括隱藏文件):/*使用listfiles歹!j出指定目錄的全部文件* listfiles輸出的是完整路徑* */import java. io. *; class hellopublic

8、 static void main(string args) string filename二"d:"+file separator;file f=new file(filename);file str=f. listfiles();for (int i 二 0; i < str. length; i+) system out println(stri);【運(yùn)行結(jié)果】:d:$recycle.bind:360d:360downloadsd:360recd:360softmoved:config.msid:dad:downloadsd:driversbackupd:ecl

9、ipsed:java web整合開(kāi)發(fā)和項(xiàng)目實(shí)戰(zhàn)d:lcnovod:ms0cached:programd:program filesd:pythond:recygler. 8f92da15-a229-a4d5-b5ce-5280c8b89c19d:system volume informationd:tomcat6d:vard:vod_cache_datad:新建文件夾通過(guò)比較可以指定,使用listfiles更加方便、判斷一個(gè)指定的路徑是否為目錄/*使用isdirectory判斷一個(gè)指定的路徑是否為目錄 * */import java. io. *;class hcllopublic stati

10、c void main(string args) string filename=zzd:/z+file. separator; file f二new file(filename); if (f. isdirectory() system out println("yes");else system, out printin("no");【運(yùn)行結(jié)果】:yes搜索指定目錄的全部?jī)?nèi)容/*列出指定目錄的全部?jī)?nèi)容* */import java io. *;class hellopublic static void main(string args) string

11、 filename二d:+file. separator; file f二new file(filename); print (f);public static void print(file f) if (f!二null)if (f. isdirectory() file filearray=f. listfiles();if (filearray!=null)for (int i 二 0; i < filearray. length; i+) 遞歸調(diào)用 print(filearray i);else system, out. pri ntln(f);【運(yùn)行結(jié)果】:d:tomca t6

12、workc3tal in alocalhostncv clorgeip3chcjspfreinicpagcswc b4welcome_jsp. javad:tomcat6workcatalinalocalhostnevelorgapachejsphelp_005fhome _jsp. classd:tomcat6workcatalinalocalhost'nevelorgapachejsphelp_005fhome _jspjavad:tomcat6workcatalinalocalhostnevelorgapachejsphome_jsp. clas sd:tomcat6workca

13、talinalocalhostnevelorgapachejsphonie_jsp javad:tomcat6workcatalinalocalhost'nevelorgapachejspindex_jsp. classd:tomcat6workcatalinalocalhostnevelorgapachejspindex_jsp. jav ad:tomcat6workcatalinalocalhostnevelorgapachejsplogin_jsp. classd:tomcat6workcatalina'localhost'ncvcl'org'ap

14、achc'jsp'login jsp. jav ad:tomcat6workcatalinalocalhostnevelorgapachejspmodify_005fus er_005finfo_jsp. classd:tomcat6workcatalinalocalhostnevelorgapachejspmodify_005fus er_005finfo jsp.javad:tomcat6workcatali nalocalhos tnevelorgapachejspregi ster_005f notify_jsp. classd:tomcat6workc3talinal

15、ocalhostncvclorgeip3chcjsprcgistcr_005f notify_jsp. javad:tomcat6workcatalinalocalhostnevelorgapachejspsign_005fup_j sp. classd:tomcat6workcatalinalocalhostnevelorgapachejspsign_005fup_j sp. javad:tomcat6workc3talinalocalhostncvclorgeip3chcjsptransit_jsp. c lass【使用randomaccessf訂e寫(xiě)入文件】/*使用randomacccs

16、sfilc寫(xiě)入文件* */import java. io. *;class hellopublic static void main(string args) tbrows toexception string filename=,d:z,+filc. scparator+hcllo. txt"file f=new file(filename);randomaccessfile demo二new randomaccessf訂e(f, rw); demo. writebytes(asdsad); demo, wri tetnt(12);demo. writcboolcan(true);

17、demo. writecharc a");demo. writefloat (1. 21f); demo. writedouble(12. 123);demo, close();如果你此時(shí)打開(kāi)hello。txt查看的話,會(huì)發(fā)現(xiàn)那是亂碼。字節(jié)流【向文件中寫(xiě)入字符吊】/*字節(jié)流*向文件中寫(xiě)入字符串* */import java. io.class hellopublic static void main(string args) throws ioexception string filename二d:"+file. separator+hello. 1x1" fil

18、e f=new file(filename);outputstream out =new fileoutputstream(f); string str=,z你好;byte b=str. get bytes ();out. wri te (b);out. closeo ;查看hello, txt會(huì)看到“你好”當(dāng)然也可以一個(gè)字節(jié)一個(gè)字節(jié)的寫(xiě)。/*字節(jié)流*向文件中一個(gè)字節(jié)一個(gè)字節(jié)的寫(xiě)入字符串* */import java. io. *;class hellopublic static void main(string args) throws ioexception string filename

19、=d:+file. separator+hello. txt" file f=new file(filename);outputstream out =new fileoutputstream(f);string str二你好;bytc b=str. gctbytcs ();for (int i = 0; i < b.length; i+) out. write(bi);out. closeo ;結(jié)果還是:“你好” 向文件小追加新內(nèi)容:/*字節(jié)流*向文件中追加新內(nèi)容:* */import java. io. *;class hcllopublic static void mai

20、n(string args) throws loexception string filename=z'd:z,+file. separator+/zhello. txt" file f二new file(filename);outputstream out 二new fi1eoutputstream(f, true);string str=z,rollcrt;/string str二"rnrollert;可以換行 byte b=str. getbytes ();for (int i 二 0; i < b.1ength; i+) out. write(bi);

21、out. close ();【運(yùn)行結(jié)果】:你好rollon【讀取文件內(nèi)容】/*字節(jié)流*讀文件內(nèi)容* */import javaio.*;class hellopublic static void main( str ing args) throws toexception string filename=,/d:z,+file separator+hello. txt" file f=ncw file(filename);inputstream in=new filelnputstreankf);byte b=new byte1024;in. read(b);in. close ()

22、;system out printin(new string(b);【運(yùn)行結(jié)果】你好rollonrollen_但是這個(gè)例子讀取出來(lái)會(huì)有大量的空格,我們可以利用in.read(b);的返冋值來(lái) 設(shè)計(jì)程序。如下:/*字節(jié)流*讀文件內(nèi)容* */import java. io. *;class hellopublic static void ni3in( str in g args) throws ioexccption string filename二"d:"+file separator+,zhello. txt"file f=new file(filename);i

23、nputstream in二new filelnputstream(f); byte b=new byte1024;int lcn二in. rcad(b);in. close ();system, out. printin (,z讀入長(zhǎng)度為:+len); system, out. print in (new str in g(b, 0, len);【運(yùn)行結(jié)果】:讀入長(zhǎng)度為:18你好rollenrollen讀者觀察上面的例了可以看出,我們預(yù)先中請(qǐng)了一個(gè)指定大小的空間,但是有時(shí) 候這個(gè)空間可能太小,冇時(shí)候可能太大,我們需要準(zhǔn)確的大小,這樣節(jié)省空間, 那么我們可以這樣干:/*字節(jié)流*讀文件內(nèi)容,節(jié)省

24、空間* */import java. io. *;class hellopublic static void main(string args) throws toexception string filename=,d:z,+filc. scparator+hcllo. txt"file f二new file(filename);inputstream in二new filelnputstream(f); byte b=new byte(int)f. length();in. read(b); system, out. printin(文件長(zhǎng)度為:z,+f. length(); i

25、n. closeo ;system out println(new string(b);文件長(zhǎng)度為:18你好rollonrollen將上面的例了改為一個(gè)一個(gè)讀:/*字節(jié)流*讀文件內(nèi)容,節(jié)省空間* */import java. io. *;class hellopublic static void main(string args) throws toexception string filename=,d:z,+filc. scparator+hcllo. txt"file f=new file(filename); inputstream in=new fi1elnputstrea

26、m(f); byte b 二 new byte (in t) f. le ngth(); for (int i 二 0; i < b.length; i+) bi二(byte) in. read();in. close (); system, out. print in (new str in g(b);輸出的結(jié)果和上而的一樣。細(xì)心的讀者可能會(huì)發(fā)現(xiàn),上面的兒個(gè)例了都是在知道文件的內(nèi)容多大,然后才展 開(kāi)的,有時(shí)候我們不知道文件有多大,這種情況下,我們需耍判斷是否獨(dú)到文件 的末尾。/*字節(jié)流*讀文件* */import java. io. *;class hellopublic static

27、 void main(string args) tbrows toexception string filename=,d:z,+filc. scparator+hcllo. txt" file f=new file(filename);inputstream in二new filelnputstream(f); byte b二new byte1024;int count 二0;int tcmp=0;while(temp=in. reado) ! = (-l) bcount+二(byte)temp;in. close(); system, out. printin(new strin

28、g(b);【運(yùn)行結(jié)果】你好rol 1 enrollcn_提醒一下,當(dāng)獨(dú)到文件末尾的時(shí)候會(huì)返回-1 正常情況下是不會(huì)返回-1的字符流【向文件中寫(xiě)入數(shù)據(jù)】現(xiàn)在我們使用字符流/*字符流*寫(xiě)入數(shù)據(jù)* */import java. io. *;class hellopublic static void main(string args) throws ioexception string f i 1 ename=/zd: /z+fi 1 e. separator+/zhello. txt; file f=new file(filename);writer out 二new filewritcr(f);s

29、tring str二hello"out write (str); out. close ();當(dāng)你打開(kāi)hclloo txt的時(shí)候,會(huì)看到hello其實(shí)這個(gè)例子上z前的例子沒(méi)什么區(qū)別,只是你可以直接輸入字符串,而不需要 你將字符串轉(zhuǎn)化為字節(jié)數(shù)組。當(dāng)你如果想問(wèn)文件屮追加內(nèi)容的吋候,可以使用將上面的聲明out的哪一行換 為:writer out =new?filcwriter(f, true);這樣,當(dāng)你運(yùn)行程序的時(shí)候,會(huì)發(fā)現(xiàn)文件內(nèi)容變?yōu)椋篽ellohello |果想在文件中換行的話,需要使用“rn”比如將 str 變?yōu)?string str二” rnhello” ;這樣文件追加的str的

30、內(nèi)容就會(huì)換行了。從文件中讀內(nèi)容:/*字符流*從文件中讀出內(nèi)容* */import java, io.*;class hellopublic static void main(string args) throws loexception string f訂ename二d:+f訂e. separator+hello. txt; file f二new file(filename);cheir ch=new cheir 100;reader rcad=new filcrcadcr(f);int count=read. read(ch);read, close ();system, out. prin

31、tin(,z讀入的長(zhǎng)度為+count); system. out. println(內(nèi)容為"+new string(ch, 0, count);【運(yùn)行結(jié)果】:讀入的長(zhǎng)度為:17 內(nèi)容為 hellohellohello當(dāng)然最好采用循環(huán)讀取的方式,因?yàn)槲覀儍訒r(shí)候不知道文件到底冇多大。/*字符流*從文件中讀出內(nèi)容* */import java io. *;class hellopublic static void main(string args) throws loexception string f訂ename二d:+f訂e. separator+,zhello. txt"f

32、ile f二new file(filename);chart ch=new char100;reader rcad=ncw filcreadcr(f);int temp=0;int count二0;while(temp=read. read() ! = (-l) ch count+ = (char) temp;read, close ();sys tem. out. printing 內(nèi)容為"+new str in g(ch, 0, count);運(yùn)行結(jié)果:內(nèi)容為 hcllohcllohello關(guān)于字節(jié)流和字符流的區(qū)別實(shí)際上字節(jié)流在操作的時(shí)候本身是不會(huì)用到緩沖區(qū)的,是文件本身的直接操

33、作 的,但是字符流在操作的?時(shí)候卜后是會(huì)用到緩沖區(qū)的,是通過(guò)緩沖區(qū)來(lái)操作文 件的。讀者可以試著將上面的字節(jié)流和字符流的程序的最后一行關(guān)閉文件的代碼注釋 掉,然后運(yùn)行程序看看。你就會(huì)發(fā)現(xiàn)使用字節(jié)流的話,文件中已經(jīng)存在內(nèi)容,但 是使用字符流的時(shí)候,文件中還是沒(méi)有內(nèi)容的,這個(gè)時(shí)候就要刷新緩沖區(qū)。使用字節(jié)流好還是字符流好呢?答案是字節(jié)流。首先因?yàn)橛脖P(pán)上的所有文件都是以字節(jié)的形式進(jìn)行傳輸或者保存 的,包括圖片等內(nèi)容。但是字符只是在內(nèi)存中才會(huì)形成的,所以在開(kāi)發(fā)中,字節(jié) 流使用廣泛。文件的復(fù)制其實(shí)dos下就冇一個(gè)文件復(fù)制功能,比如我們想把d盤(pán)下而的h e 1 1 ot x t文件復(fù)制到d盤(pán)下面的rollen

34、. txt文件中,那么我們就可以使用下面的命 令:copy d:hello. txt d:rollen. txt運(yùn)行之后你會(huì)在d盤(pán)中看見(jiàn)hello, txt.,并口兩個(gè)文件的內(nèi)容是一樣的,(這 是屁話)下面我們使用程序來(lái)復(fù)制文件吧。基本思路還是從一個(gè)文件中讀入內(nèi)容,邊讀邊寫(xiě)入另一個(gè)文件,就是這么簡(jiǎn)單。、首先編寫(xiě)下而的代碼:/*文件的復(fù)制* */import java io. *;class hellopublic static void main(string args) throws ioexception if (args, length!=2) system, out. printlnc

35、'命令行參數(shù)輸入有誤,請(qǐng)檢查"); systcm. exit ;file filel=new file (args0);file f訂e2=new f訂e(argsl);if (!filel. exists() system, out. println(/z被復(fù)制的文件不存在"); system. exit 仃);inputstream input二new filelnputstream(filel);outputstream output二new fileoutputstream(file2); if(input!=null)&&(output!=

36、null) int temp二0; while (temp= in put. read () !二(-1) output write(temp);input, close (); output, close ();然后在命令行下面javac hello, javajava hello d:hello. txt d:rollen. txt現(xiàn)在你就會(huì)在d盤(pán)看到rolleno txt 了,outputstreramwriter?d inputstreamreader 類整個(gè)10類屮除了字節(jié)流和字符流述包括字節(jié)和字符轉(zhuǎn)換流。outputstreramwriter將輸出的字符流轉(zhuǎn)化為字節(jié)流inputst

37、reamreader將輸入的字節(jié)流轉(zhuǎn)換為字符流但是不管如何操作,最后都是以字節(jié)的形式保存在文件中的。將字節(jié)輸出流轉(zhuǎn)化為字符輸出流/*將字節(jié)輸出流轉(zhuǎn)化為字符輸出流* */import java, io.*;class hellopublic static void main(string args) throws loexception string filename= /zd:z/+file. separator+/zhello. txt/z; file file二new file(filename);wri ter out 二 new outputst reamwr it er (new f

38、ileo utputst ream (file); out. write ("hello");out. close ();運(yùn)行結(jié)果:文件屮內(nèi)容為:hello 將字節(jié)輸入流變?yōu)樽址斎肓?*將字節(jié)輸入流變?yōu)樽址斎肓? */import java. io. *;class hellopublic static void main(string args) throws ioexception string filename= d:+f訂e. separator+hello. txt;file file二new file(filename);reader rcad=ncw in

39、putstrcamrcadcr(new filclnputstrcam(filc); char b二new char100;int len=read. read(b);system, out. print in (new str in g(b, 0, len); read, close();【運(yùn)行結(jié)果】:hello前面列舉的輸岀輸入都是以文件進(jìn)行的,現(xiàn)在我們以內(nèi)容為輸出輸入目的地,使 用內(nèi)存操作流by tcarray inputstrcam?主要將內(nèi)容寫(xiě)入內(nèi)容bytearrayoutputstream?主要將內(nèi)容從內(nèi)存輸出使用內(nèi)存操作流將一個(gè)大寫(xiě)字母轉(zhuǎn)化為小寫(xiě)字母/*使用內(nèi)存操作流將一個(gè)大寫(xiě)字

40、母轉(zhuǎn)化為小寫(xiě)字母* */import java. io. *;class hellopublic static void m8in(string args) throws ioexception string str二rollenholt;bytcarreiy in putstrcam in put 二 newbytearraylnputstream(str getbytes ();bytearrayoutputstrearn output二new bytearrayoutputstream(); int temp二0;while(temp二input, read() !二-1) char c

41、h= (char)temp;output write(character. tolowercase(ch);string outstr二output. tostring(); in put. close ();output, close ();system, out. println(outstr);【運(yùn)行結(jié)果】:rollenholt內(nèi)容操作流一般使用來(lái)生成一些臨時(shí)信息采用的,這樣可以避免刪除的麻煩。 管道流管道流主要可以進(jìn)行兩個(gè)線程z間的通信。pipedoutputstream?管道輸ill 流pipedtnputstream?管道輸入流驗(yàn)證管道流/*驗(yàn)證管道流* */import java

42、. io. *;/*消息發(fā)送類* */class send implements runnable private pipedoutputstream out=null;public send() out=new pipedoutputstream();public pipedoutputstream getout()return this.out;ijpublic void run() string message二hello , rollert;try out. wri te(message. etbytes ();catch (exception c) e. printstacktrac

43、e (); try out. close ();catch (exception e) c. printstacktracco ; /*接受消息類* */class recive implements runnableprivate piped!nputstream input二null;public recive()this. input=new pipedlnputstream(); public pipedlnputstream getlnput() return this. input;public void run() byte b=new byte1000;int len二0;tr

44、y len二this. input, read(b);catch (exception c) e. printstacktrace (); try in put. close ();catch (exception e) e. printstacktrace (); _system, out. printin(,z接受的內(nèi)容為 +(new string(b, 0, len); /*測(cè)試類* */class hellopubl ic static void main(string args) tbrows toexception send send二new send ();recive reci

45、ve=new recive();try 管道連接send. getout () connect (recive. getlnput ();catch (exception e) e. printstacktrace ();new thread (scnd), start();new thread(recive). start();【運(yùn)行結(jié)果】:接受的內(nèi)容為?hcllo , rollon打印流/*使用printstream進(jìn)行輸岀* */import java. io.class hello public static void main(string args) throws toexcept

46、ion printstream print 二 new printstream(new fi1eoutputstream(new f 訂 c(d:+ file, separator + "hello.txt");print, println(true);print, printin(rollen); print. close();【運(yùn)行結(jié)果】:truerollen當(dāng)然也可以格式化輸出/*使用printstream進(jìn)行輸出*并進(jìn)行格式化* */import java, io.*;class hello public static void main(string args)

47、throws loexception printstream print 二 new printstream(new fi1eoutputstream(new f 訂 e(d:+ file, separator + "hello.txt");string name=,zrollcrt;int age=20;print, printf (,z姓名:%s.年齡:%, age); print, close ();【運(yùn)行結(jié)果】:姓名:rollen. ?年齡:20.使用outputstream向屏幕上輸出內(nèi)容/*使用outputstrcam向屏幕上輸出內(nèi)容* */impo

48、rt java. io. *; class hello public static void main(string args) throws ioexception outputstrcam out二system, out;try out. write (hello getbytes ();catch (exception e) e. printstacktrace ();try out. close ();catch (exception e) e. printstacktrace();【運(yùn)行結(jié)果】:hello輸入輸出重定向import java. io. file;import java

49、. io.filenotfoundexception; import java. io.fileoutputstream;import java. io. printstream;/* 為 system, out. printin ()重定向輸出* */public class systemdeino public static void main(string args) /此刻直接輸出到屏幕system, out. println("hello");file file = new file(d:" + file.separator + "hello.

50、txt");system. setout(new printstream(newfileoutputstream(file);catch (filenotfoundexccption c)e. printstacktrace ();system, out. printin(,z這些內(nèi)容在文件中才能看到哦! );【運(yùn)行結(jié)果】:eclipse的控制臺(tái)輸出的是hello。然后當(dāng)我們查看d盤(pán)下面的hello, txt文件 的時(shí)候,會(huì)在里面看到:這些內(nèi)容在文件中才能看到哦!import java. io. file;import java. io. fi1emotfoundexception;

51、import java. io. filcoutputstream;import java. io. printstream;* system, err重定向這個(gè)例子也提示我們口j以使用這種方法保存錯(cuò)誤信息* */public class systemerr public static void main(string args)file file 二 new f訂e(d: + file, separator + "hello.txt); system, err. printin(這些在控制臺(tái)輸出); try system. seterr(new printstream(newfil

52、eoutputstream(file);catch(filenotfoundexception e)e. printstacktrace();system, err. printlnc這些在文件中才能看到哦! “);【運(yùn)行結(jié)果】:你會(huì)在eclipse的控制臺(tái)看到紅色的輸出:“這些在控制臺(tái)輸出”,然后在d 盤(pán)卜面的hello, txt中會(huì)看到:這些在文件中才能看到哦!import java io.file;import java. io. filelnputstream;import java io. f訂enotfoundexception;import java io. toexceptio

53、n;/* system, in 重定向* */public class systemin public static void main(string args) file file = new filec'd:" + file .separator + "hell o. txt"); if (!file. existso) return;else trysystem setln(new filelnputstream(file);catch(f訂enotfoundexception e)e. printstacktrace ();byte bytes 二

54、 new byte1024;int len = 0;try len = system, in. read (bytes);catch (loexception e) e. pri ntstacktrace ();system, out. println(,z讀入的內(nèi)容為:"+ new string(bytes, 0, len);【運(yùn)行結(jié)果】: 前提是我的d盤(pán)下面的hello, txt中的內(nèi)容是:“這些文件中的內(nèi)容哦!”,然 后運(yùn)行程序,輸岀的結(jié)果為:讀入的內(nèi)容為:這些文件屮的內(nèi)容哦!bufferedreader 的小例子 注意:?bufferedreqder只能接受字符流的緩沖區(qū),因?yàn)槊恳粋€(gè)中文需要占據(jù)兩 個(gè)字節(jié),所以需要將system, in這個(gè)字節(jié)輸

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論