資源描述:
《java多種方式讀取文件.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、importjava.io.BufferedReader;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileReader;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.io.RandomAccessFile;importjava.io.Reader;publicclassRea
2、dFromFile{/***以字節(jié)為單位讀取文件,常用于讀二進(jìn)制文件,如圖片、聲音、影像等文件。*@paramfileName文件的名*/publicstaticvoidreadFileByBytes(StringfileName){Filefile=newFile(fileName);InputStreamin=null;try{System.out.println("以字節(jié)為單位讀取文件內(nèi)容,一次讀一個(gè)字節(jié):");//一次讀一個(gè)字節(jié)in=newFileInputStream(file);intte
3、mpbyte;while((tempbyte=in.read())!=-1){System.out.write(tempbyte);}in.close();}catch(IOExceptione){e.printStackTrace();return;}try{System.out.println("以字節(jié)為單位讀取文件內(nèi)容,一次讀多個(gè)字節(jié):");//一次讀多個(gè)字節(jié)byte[]tempbytes=newbyte[100];intbyteread=0;in=newFileInputStream(file
4、Name);ReadFromFile.showAvailableBytes(in);//讀入多個(gè)字節(jié)到字節(jié)數(shù)組中,byteread為一次讀入的字節(jié)數(shù)while((byteread=in.read(tempbytes))!=-1){System.out.write(tempbytes,0,byteread);}}catch(Exceptione1){e1.printStackTrace();}finally{if(in!=null){try{in.close();}catch(IOExceptione1
5、){}}}}/***以字符為單位讀取文件,常用于讀文本,數(shù)字等類型的文件*@paramfileName文件名*/publicstaticvoidreadFileByChars(StringfileName){Filefile=newFile(fileName);Readerreader=null;try{System.out.println("以字符為單位讀取文件內(nèi)容,一次讀一個(gè)字節(jié):");//一次讀一個(gè)字符reader=newInputStreamReader(newFileInputStream(
6、file));inttempchar;while((tempchar=reader.read())!=-1){//對(duì)于windows下,rn這兩個(gè)字符在一起時(shí),表示一個(gè)換行。//但如果這兩個(gè)字符分開顯示時(shí),會(huì)換兩次行。//因此,屏蔽掉r,或者屏蔽n。否則,將會(huì)多出很多空行。if(((char)tempchar)!='r'){System.out.print((char)tempchar);}}reader.close();}catch(Exceptione){e.printStackTrace();}
7、try{System.out.println("以字符為單位讀取文件內(nèi)容,一次讀多個(gè)字節(jié):");//一次讀多個(gè)字符char[]tempchars=newchar[30];intcharread=0;reader=newInputStreamReader(newFileInputStream(fileName));//讀入多個(gè)字符到字符數(shù)組中,charread為一次讀取字符數(shù)while((charread=reader.read(tempchars))!=-1){//同樣屏蔽掉r不顯示if((charr
8、ead==tempchars.length)&&(tempchars[tempchars.length-1]!='r')){System.out.print(tempchars);}else{for(inti=0;i