freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

博博jsp教程:第6章對文件的操作-文庫吧

2025-04-24 18:21 本頁面


【正文】 BufferedInputStream DataInputStream 圖 62 InputStream類層次 (2) InputStream類的常用方法 ? int read() 輸入流調(diào)用該方法從數(shù)據(jù)源中讀取單個字節(jié)的數(shù)據(jù),該方法返回字節(jié)值( 0~255之間的一個整數(shù))。如果未讀出字節(jié)就返回 1。 ? int read(byte b[])輸入流調(diào)用該方法從數(shù)據(jù)源中試圖讀取 字節(jié)到 b中,返回實(shí)際讀取的字節(jié)數(shù)目。如果到達(dá)文件的末尾,則返回 1。 ? int read(byte b[],int off,int len) 輸入流調(diào)用該方法從數(shù)據(jù)源中試圖讀取 len個字節(jié)到 b中,并返回實(shí)際讀取的字節(jié)數(shù)目。如果到達(dá)文件的末尾,則返回 1。參數(shù) off指定從字節(jié)數(shù)組的某個位置開始存放讀取的數(shù)據(jù)。 ? void close() 輸入流調(diào)用該方法關(guān)閉輸入流。 ? long skip(long numBytes) 輸入流調(diào)用該方法跳過 numBytes個字節(jié),并返回實(shí)際跳過的字節(jié)數(shù)目。 下面是對 OutputStream類的描述: (1)OutputStream類層次圖 圖 63 OutputStream類層次 OutputStream FileOutputStream PipedOutputStream FilterOutputStream ObjectOutputStream ByteArrayOutputStream PrintStream BufferedOutputStream DataOutputStream (2) OutputStream類的常用方法 ? void write(int n) 輸出流調(diào)用該方法向輸出流寫入單個字節(jié)。 ? void write(byte b[]) 輸出流調(diào)用該方法向輸出流寫入一個字節(jié)數(shù)組 ? void write( byte b[], int off,int len)從給定字節(jié)數(shù)組中 ,起始于偏移量 off處,取 len個字節(jié)寫到輸出流 ? void close() 關(guān)閉輸出流 字節(jié)流有多個子類,能直接對文件進(jìn)行讀或?qū)懙淖宇愑? FileInputStream和 FileOutputStream.下面是它們的構(gòu)造方法. 1. FileInputStream類的構(gòu)造方法: ? public FileInputStream(String name) throws FileNotFoundException ? public FiIeInputStream(File file) throws FileNotFoundException 其中, name為文件名, file為文件類 File對象,即可以以文件名或 File對象構(gòu)造文件輸入流對象。通過文件輸入流對象讀文件。 2. FileOutputStream類的構(gòu)造方法: ? public FileOutputStream(String name)throws FileNotFoundException ? public FileOutputStrearm(File file ) throws FileNotFoundException ? public FileOutputStrearm(String name ,boolean append ) throws FileNotFoundException 其中, name為文件名, file為 File對象, append表示文件 的寫入方式。 append的值為 false時,為重寫方式,即要寫入的內(nèi)容從文件開頭寫入,覆蓋以前的文件內(nèi)容;當(dāng) append的值為 true時,為添加方式,即要寫入的內(nèi)容添加到文件的尾部。 append的默認(rèn)值是false。可以以文件名或 File對象構(gòu)造文件輸出流對象,通過文件輸出流對象寫文件。 用類 FileInputStream讀文件 [例子 ]讀文件 e:/,并輸出到客戶端。 問題分析: 以文件名 e:/為參數(shù)構(gòu)造 File對象,再以File對象為參數(shù)構(gòu)造輸入流,循環(huán)讀取輸入流,并輸出到客戶端。 程序結(jié)構(gòu): 程序名: 程序算法: e:/為參數(shù) ,構(gòu)造文件對象: f f為參數(shù),構(gòu)造輸入流: in in中讀取 n個字節(jié) ,保存在數(shù)組 b中 1時結(jié)束循環(huán),否則,把數(shù)組 b以字符串的方式輸出到客戶端,重復(fù)步驟 3。 用類 FileOutputStream寫文件 [例子 ] 把從客戶端輸入的文本,添加到服務(wù)器的e:/。 問題分析: 創(chuàng)建一個表單接受客戶端的文本輸入。以文件名e:/為參數(shù)創(chuàng)建一個輸出流,把客戶端輸入的文本寫入該輸出流中。 程序結(jié)構(gòu): 程序名: 程序算法: ,包含一個文本框,文本框名是 boy ,保存在字符串 str中 str編碼為字節(jié)數(shù)組: buffer e:/為參數(shù),創(chuàng)建一個輸出流 :wf buffer寫入到輸出流 wf中。 程序代碼: %@ page contentType=text/html。charset=GB2312 % %@ page import=.*% HTML BODY bgcolor=cyanFONT size=3 FORM action= method=post name=form INPUT type=text name=boy INPUT TYPE=submit value=保存 name=submit /FORM % String str=(boy)。 if(str==null) str= 。 try { byte buffer[]=(ISO88591)。 FileOutputStream wf= new FileOutputStream(e:/,true)。 (buffer)。 //將字節(jié)數(shù)組寫入輸出流指向的文件 ()。 //關(guān)閉輸出流 (將數(shù)據(jù)存入到文件 :e:/ )。 } catch(IOException ioe) { (File Write Error!)。 } % /body /html 字節(jié)緩存流 ? 由于使用文件字節(jié)流讀 /寫文件效率不高,在實(shí)際應(yīng)用中,常常使用字節(jié)緩存流來讀 /寫文件。字節(jié)緩存流有: 字節(jié)緩存輸入流(BufferedInputStream)和 字節(jié)緩存輸出流(BufferedOutputStream)。 常用構(gòu)造方法 1. BufferedInputStream類的構(gòu)造方法 ? BufferedInputStream(InputStream in ) ? BufferedInputStream(InputStream in , int size) 2. BufferedOutputStream類的構(gòu)造方法 ? BufferedOutputStream(OutputStream out ) ? BufferedOutputStream(OutputStream out , int size ) 其中, in是字節(jié)輸入流對象, out是字節(jié)輸出流對象, size是緩沖區(qū)大小。 實(shí)際應(yīng)用中,為了提高文件讀寫的效率,F(xiàn)ileInputStream流經(jīng)常和 BufferedInputStream流配合使用,F(xiàn)ileOutputStream流經(jīng)常和 BufferedOutputStream流配合使用。下面是構(gòu)造字節(jié)緩存流的方法。 1. 構(gòu)造字節(jié)緩存輸入流的步驟 假設(shè)需要使用字節(jié)緩存流讀文件 ,則需要對文件: 第一步:構(gòu)造文件字節(jié)輸入流 FileInputStream in=new FileInputStream() 第二步:構(gòu)造緩存輸入流 BufferedInputStream inbuffer=BufferedInputStream(in) 這時,我們就可以讓 inbuffer調(diào)用 read()方法讀取文件 ()的內(nèi)容. Inbuffer讀取文件的過程中,會進(jìn)行緩存處理,提高讀取的效率. 2. 構(gòu)造字節(jié)緩存輸出流的步驟 假設(shè)需要使用字節(jié)緩存流寫文件 ,則需要對文件: 第一步:構(gòu)造文件字節(jié)輸出流 FileOutputStream out=new FileOutputStream() 第二步:構(gòu)造緩存輸出流 BufferedOutputStream outbuffer=BufferedOutputStream(out) 這時, outbuffer調(diào)用 write()方法向文件 ()寫入內(nèi)容時會進(jìn)行緩存處理.提高寫入的效率.需要注意的是,寫入完畢后,須調(diào)用 flush()方法將緩存中的數(shù)據(jù)存入文件. BufferedInputStream讀文件 [例子 ] 用字節(jié)緩存讀文件 e:/,并輸出到客戶端。 程序結(jié)構(gòu): 程序名: 程序算法: 1. 以文件名 e:/為參數(shù),構(gòu)造文件對象: f 2. 以文件對象 f為參數(shù),構(gòu)造文件字節(jié)輸入流: in 3. 以文件字節(jié)輸入流 in為參數(shù),構(gòu)造緩存輸入流: bufferin 4. 每次從 bufferin中讀取 n個字節(jié) ,保存在數(shù)組 c中 5. n等于 1時結(jié)束循環(huán),否則,把數(shù)組 c以字符串的方式輸出到客戶端,重復(fù)步驟 4。 程序代碼: %@ page contentType=text/html。charset=GB2312 % %@ page import=.*% HTML BODY bgcolor=cyanFONT size=3 % File f=new File(e:/)。 try { FileInputStream in=new FileInputStream(f)。 BufferedInputStream bufferin=new BufferedInputStream(in)。 byte c[]=new byte[90]。 int n=0。 while((n=(c))!= 1) { String temp=new String(c,0,n)。 (temp)。 } ()。 ()。 } catch(IOException e) { } % /FONT /BODY /HTML BufferedOutputStream寫文件 [例子 ]把客戶端輸入的數(shù)據(jù)寫入到 e:/文件中。 程序結(jié)構(gòu): 程序名: 程序算法: 1.創(chuàng)建一個表單,包含一個文本框,文本框名是 boy 2.獲取文本框數(shù)據(jù),保存在字符串 str中 3.將字符串 str編碼為字節(jié)數(shù)組: buffer 4.以 e:/為參數(shù),創(chuàng)建一個輸出流 : outFile 5.以 outFile為參數(shù),創(chuàng)建緩沖輸出流: bufferout 6.將 buffer寫入到緩沖輸出流 bufferout中。 程序代碼: %@ page contentType=text/html。charset=GB2312 % %@ page import=.*% HTML BODY bgcolor=cyanFONT size=3 FORM action= method=post name=form INPUT type=text name=boy INPUT TYPE=submit value=保存 name=submit /FORM % String str=(boy)。 if(str==null) str= 。 byte buffer[]=(ISO88591)。 try {
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1