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

正文內(nèi)容

博博jsp教程:第6章對(duì)文件的操作-預(yù)覽頁(yè)

 

【正文】 (1)InputStream的類層次圖 InputStream的類層 次圖如圖 62所示 InputStream FileInputStream PipedInputStream FilterInputStream ObjectInputStream SequenceInputStream ByteArrayInputStream StringBufferInputStream PushbackInputStream BufferedInputStream DataInputStream 圖 62 InputStream類層次 (2) InputStream類的常用方法 ? int read() 輸入流調(diào)用該方法從數(shù)據(jù)源中讀取單個(gè)字節(jié)的數(shù)據(jù),該方法返回字節(jié)值( 0~255之間的一個(gè)整數(shù))。 ? int read(byte b[],int off,int len) 輸入流調(diào)用該方法從數(shù)據(jù)源中試圖讀取 len個(gè)字節(jié)到 b中,并返回實(shí)際讀取的字節(jié)數(shù)目。 ? long skip(long numBytes) 輸入流調(diào)用該方法跳過 numBytes個(gè)字節(jié),并返回實(shí)際跳過的字節(jié)數(shù)目。 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對(duì)象, append表示文件 的寫入方式。 用類 FileInputStream讀文件 [例子 ]讀文件 e:/,并輸出到客戶端。 問題分析: 創(chuàng)建一個(gè)表單接受客戶端的文本輸入。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)。 (buffer)。 } % /body /html 字節(jié)緩存流 ? 由于使用文件字節(jié)流讀 /寫文件效率不高,在實(shí)際應(yīng)用中,常常使用字節(jié)緩存流來讀 /寫文件。下面是構(gòu)造字節(jié)緩存流的方法。charset=GB2312 % % page import=.*% HTML BODY bgcolor=cyanFONT size=3 % File f=new File(e:/)。 int n=0。 ()。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)。 BufferedOutputStream bufferout=new BufferedOutputStream(outFile)。 } catch(IOException ioe) { (File Write Error!)。 ? int read(char b[]) 輸入流調(diào)用該方法從源中讀取 字符數(shù)組 b中,返回實(shí)際讀取的字符數(shù)目。其中, off參數(shù)表明,從數(shù)組 b的 off位移處開始存放數(shù)據(jù)。 ? void write(String str) 向輸出流寫入一個(gè)字符串 ? void close()關(guān)閉輸出流 (2) Writer的類層次 Writer類的層次結(jié)構(gòu)圖如圖 65所示。 2. FileWriter類的構(gòu)造方法: ? public FileWriter(File file) throws IOException ? public FileWriter(String name) throws IOException ? public FileWriter(File file, boolean append) throws IOException ? public FileWriter(String name, boolean append) throws IOException 其中, name為文件名, file為 File對(duì)象, append表示文件的寫入方式。 FileReader讀文件 [例子 ]在客戶端顯示文件 e:/。 try { FileReader in=new FileReader(f)。 while((n=(b))!=1) { str=new String(b,0,n)。 程序結(jié)構(gòu): 程序名: 程序算法: 1. 創(chuàng)建一個(gè)表單,包含一個(gè)文本框,文本框名 是 boy 2. 獲取文本框數(shù)據(jù),保存在字符串 str中 3. 將 str進(jìn)行編碼 4. 以“ e:/”為參數(shù),創(chuàng)建一個(gè)輸出 流 :wf 5. 將 str寫入到輸出流 wf中。 byte b[]=(ISO88591)。 //將字符串寫入輸出流指向的文件 ()。字符緩存流有:字符緩存輸入流 (BufferedReader)和字符緩存輸出流(BufferedWriter)。需要注意的是,寫入完畢后,須調(diào)用 flush()方法將緩存中的數(shù)據(jù)存入文件。charset=GB2312 % % page import=.*% HTML BODY % File f=new File(e:/)。 while((str=())!=null) { (str+BR)。 程序結(jié)構(gòu): 程序名: 程序算法: 1. 創(chuàng)建輸入 /輸出文件對(duì)象 fread,fwrite 2.對(duì) fread進(jìn)行兩次封裝,得到緩存輸入流: bufferin 3.對(duì) fwrite進(jìn)行兩次封裝,得到緩存輸出流: bufferout 4.從 bufferin讀入一行數(shù)據(jù),保存到字符串 str中 5. str等于 null時(shí),循環(huán)結(jié)束,否則,把 str寫入輸出流 ( bufferout), str輸出到客戶端,重復(fù)步驟 4 程序代碼: % page contentType=text/html。 BufferedReader bufferin=new BufferedReader(in)。 while((str=())!=null) { (str)。 ()。 } catch(IOException e) { } % /BODY /HTML 回壓字符流 通常,稱用 PushbackReader類構(gòu)造的對(duì)象為字符回壓流 .。 以上兩個(gè)方法,經(jīng)常配對(duì)使用。這里采用回壓流技術(shù):當(dāng)讀到” ”符號(hào)時(shí),將等價(jià)的字符串” amp?!?’G’,’T’三個(gè)字符的回壓值。數(shù)據(jù)流包括數(shù)據(jù)輸入流 (DataInputStream)和數(shù)據(jù)輸出流(DataOutputStream)。程序通過輸入流鏈讀取數(shù)據(jù)源點(diǎn)數(shù)據(jù),通過輸出流鏈向數(shù)據(jù)終點(diǎn)寫數(shù)據(jù)。 1號(hào)(FileInputStream)、 2號(hào) (BufferedInputStream)、 3號(hào)(DataInputStream)。 數(shù)據(jù) 源點(diǎn) 1號(hào) 2號(hào) 3號(hào) 程序 讀數(shù)據(jù) FileInputStream BufferedInputStream DataInputStream 圖 66 輸入流管道模型 四種輸入流鏈如下: ? 第一種流鏈:僅由 1號(hào) (FileInputStream)構(gòu)成的流。 ? 第三種流鏈: 由 1號(hào) (FileInputStream)、 2號(hào)(BufferedInputStream)和 3號(hào) (DataInputStream)套接構(gòu)成的流。 (2)輸出流鏈 下面有 3 種型號(hào)的輸出管道 (每種管道代表一種流 )。輸出流管道模型如圖 67所示。程序通過BufferedOutputStream對(duì)象向數(shù)據(jù)終點(diǎn)寫數(shù)據(jù)。程序通過DataOutputStream對(duì)象向數(shù)據(jù)終點(diǎn)寫數(shù)據(jù)。 保存到 e:/文件中; e:/文件中的數(shù)據(jù),輸出到客戶端。 1.以文件 e:/為參數(shù)構(gòu)造 File對(duì)象: f 2.對(duì) f進(jìn)行兩次封裝,得到數(shù)據(jù)輸入流: DataIn 3.輸出表頭 (姓名,數(shù)學(xué),英語(yǔ) ) 4.從輸入流 (DataIn)中分別讀取三項(xiàng)數(shù)據(jù) (name,math,english),輸出到客戶端。 2.對(duì)象流的實(shí)例方法 ⑴.對(duì)象輸入流的實(shí)例方法 public final Object readObject() throws OptionalDataException , ClassNotFoundException , IOException ⑵ .對(duì)象輸出流的實(shí)例方法 public final void writeObject(Object obj) throws IOException [例子 ].使用對(duì)象流實(shí)現(xiàn)貨物 (貨物名稱 ,貨物數(shù)量 )的錄入、刪除、顯示。 程序結(jié)構(gòu): 本程序由四個(gè) JSP頁(yè)面構(gòu)成。 頁(yè)面 頁(yè)面 查看貨物 頁(yè)面 返回 刪除貨物 錄入貨物 返回 頁(yè)面 返回 圖 69 頁(yè)面交互關(guān)系 程序算法: : 1.創(chuàng)建表單,包含兩個(gè)文本框,錄入貨物名稱 (N)和貨物數(shù)量 (M)。 7. 否則,用 +name++mount+構(gòu)造字符串 s,把 (name,s)添 加到hashtable中,再把 hashtable寫入文件中。 6 .從表單獲取要?jiǎng)h除貨物的名稱,保存在 name中。 2.獲取 hashtable的枚舉變量: enum 3.輸出表頭 (貨物名稱 , 貨物數(shù)量 ) 4.對(duì) enum進(jìn)行遍歷,獲取每個(gè)字符串 s( +name++mount+),保存在變量 goods中。 (RandomAccessFile) ? 前面幾節(jié)介紹的數(shù)據(jù)流只能按順序讀寫文件,而且輸入流只能讀不能寫,輸出流只能寫不能讀,即不能使用同一個(gè)流對(duì)文件進(jìn)行讀寫操作。當(dāng)文件不存在時(shí),構(gòu)造方法將拋出FileNotFoundException異常。本例在網(wǎng)上提供一窗口,可以讓所有客戶選擇其中一部小說,繼續(xù)寫作。 程序算法: : 創(chuàng)建一個(gè)表單,該表單包含 4 個(gè)單選按鈕,分別表示四 部小說。 2.從 session中獲取續(xù)寫小說的名字,把名字保存到name中。 7.將 content輸出到客戶端。 程序結(jié)構(gòu): 頁(yè)面; 頁(yè)面獲取文件內(nèi)容,把它保存到服務(wù)器 e:/文件中。 ? 下面通過一個(gè)例子,說明客戶端上傳的全部數(shù)據(jù)包含的內(nèi)容及格式: 假設(shè)要上傳的文件是 e:/,文件 e:/的內(nèi)容及格式如圖 610所示。 通過上面的例子,我們知道,表單提交的信息中,前 4行和后面的 5行是表單域信息,中間部分才是客戶提交的文件的內(nèi)容
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1