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

正文內容

面向對象與java程序設計流和文件、applet、網(wǎng)絡編程ppt(編輯修改稿)

2024-11-12 05:34 本頁面
 

【文章內容簡介】 下: public class FileReader extends InputStreamReader{ public FileReader(String fileName) throws FileNotFoundException public FileReader(File file) throws FileNotFoundException } ?FileReader類在 BufferReader流與實際的數(shù)據(jù)文件之間起到連接的作用。 第 41 頁 讀取字符數(shù)據(jù) 【 例 】 創(chuàng)建一個簡單的純文本文件顯示工具,它能在一個具有滾動條的窗口里面查看文本文件。該程序應當擴展Frame類,并含有一個文件菜單系統(tǒng)。通過菜單可以打開文件和退出程序,當選擇 “ 打開 ” 命令時應當彈出一個標準的 “ 打開文件 ” 對話框,以便用戶選擇要打開的文本文件,選擇 “ 退出 ” 命令將關閉程序。 這里有 3個前面沒有遇到過的問題: 怎樣打開一個純文本文件,并讀取里面的數(shù)據(jù)? 在不知道文件包含多少行文本的情況下如何讀取文件? 怎樣創(chuàng)建一個標準的 “ 打開文件 ” 對話框? 第 42 頁 讀取字符數(shù)據(jù) FileDialog類 ?FileDialog類中有標準的 “ 文件 |打開 ” 或 “ 文件 |保存 ” 對話框,可以通過它們選擇文件來讀或寫。該對話框是模態(tài)對話框,一旦通過 setVisible() 將它顯示出來后,只有選擇一個文件后或者單擊 “ 取消 ” 按鈕才能使它消失,該類的定義為: public class FileDialog extends Dialog{ public FileDialog(Frame parent, String title, int mode) // 構造方法 public static final int SAVE, LOAD // 成員變量 public String getDirectory() // 成員方法 public void setDirectory(String dir) public String getFile() public void setFile(String file) } 第 43 頁 讀取字符數(shù)據(jù) 讀取一個純文本文件可將具體文件連接到 Reader類的數(shù)據(jù)流,如要打開一個 fileName文件,可使用如下方式創(chuàng)建一個輸入流: BufferedReader reader = new BufferedReader(new FileReader(fileName))。 然后 readLine方法可以從文本文件中一行行地讀出文本: try{ while ( (line = ()) != null){…… } //根據(jù)所讀取的一行文本進行操作 } catch(IOException ioe) { (ioe)。 } FileDialog對話框含有 Open和 Cancel按鈕,如果單擊了 Cancel按鈕,則 getFile()方法將返回 null,如果對話框的創(chuàng)建模式為 SAVE,則在覆蓋一個已有文件前必須經(jīng)過用戶的確認。 例 第 44 頁 保存字符數(shù)據(jù) BufferedWriter類 ?BufferedWriter類用來創(chuàng)建一個字符緩沖輸出流,它主要為其他類(如 PrintWriter類)提供一個字符輸入流, Java API給出BufferWriter類的定義如下: public class BufferedWriter extends Writer { public BufferedWriter(Writer out) public void write(int c) throws IOException public void newLine() throws IOException public void flush() throws IOException public void close() throws IOException } 第 45 頁 保存字符數(shù)據(jù) PrintWriter類 ?PrintWriter類為格式化字符流提供了一些實用方法,雖然PrintWriter類能單獨使用,但是它最好還是能與 BufferedWriter連接使用,可以提高流的效率。 Java API對 PrintWriter類的定義如下: public class PrintWriter extends Writer{ public PrintWriter(Writer out) public PrintWriter(Writer out, boolean autoFlush) public void flush() public void close() public void println() } 第 46 頁 保存字符數(shù)據(jù) FileWriter類 ?FileWriter類把字符輸出流與文件連接起來, FileWriter類會毫無提示地刪除一個已存在的文件,所以,也要通過 File和FileDialg類提供的方法,確保不會意外地刪除用戶的重要文件。 Java API給出 FileWriter類的定義如下: public class FileWriter extends OutputStreamWriter{ //部分構造方法 public FileWriter(File file) throws IOException public FileWriter(String fileName) throws IOException public FileWriter(String fileName, boolean append) throws IOException } 第 47 頁 保存字符數(shù)據(jù) ?通常 , FileWriter、 BufferedWriter和 PrintWriter這 3個類按下圖所示的方式一起使用 , 創(chuàng)建基于字符的輸出流與文件連接 ,然后通過 PrintWriter類所提供的功能強大的方法來寫數(shù)據(jù)文件 。 【 例 】 創(chuàng)建一個類,使用 PrintWriter向輸出文件中寫入雙精度、整數(shù)、字符、 boolean和 String類型的值各一個。然后用標準的文本編輯器打開該文件,看看通過文本編輯器是否能正確顯示該文件 . 通過記事本打開該文件 第 48 頁 保存和讀取對象數(shù)據(jù) ?什么是對象的持續(xù)性( persistence)? 能夠記錄自己的狀態(tài)以便將來重現(xiàn)的能力 ,叫對象的持續(xù)性 ?什么是對象的串行化( Serialization)? 對象通過寫出描述自己狀態(tài)的數(shù)值來記錄自己的過程,叫 對象串行化 串行化的主要任務是寫出對象實例變量的數(shù)值,如果變量是另一個對象的引用,則引用的對象也要串行化。這個過程是遞歸的 ?串行化與對象流之間的關系如何? 可以將對象串行化后通過對象輸入輸出流寫入文件或傳送到其它地方 第 49 頁 保存和讀取對象數(shù)據(jù) ?串行化能保存的元素 串行化只能保存對象的非靜態(tài)成員變量,不能保存任何 成員方法 和 靜態(tài) 的成員變量,而且串行化保存的只是變量的值,對于變量的任何修飾符,都不能保存。 ?transient關鍵字 對于某些類型的對象,其狀態(tài)是瞬時的,這樣的對象是無法保存其狀態(tài)的,例如一個 Thread對象,對于這樣的成員變量,必須用 transient關鍵字標明,否則編譯器將報錯。任何用transient關鍵字標明的成員變量,都不會被保存。 第 50 頁 保存和讀取對象數(shù)據(jù) 對象流是怎樣工作的 ? 1. 通過對象流進行傳輸?shù)膶ο蟊仨氝M行串行化。只有實現(xiàn)Serializable接口的類才能被串行化, 該接口中沒有任何方法,當一個類聲明實現(xiàn) Serializable接口時,只是表明該類遵循對象串行化協(xié)議。 2. 構造對象的輸入輸出流。要傳輸一個串行化對象,必須與一定的對象輸出 /輸入流聯(lián)系起來,通過對象 輸出流 將對象狀態(tài)保存下來,再通過對象 輸入流 將對象狀態(tài)恢復。 對象流 : ObjectOutputStream, ObjectInputStream 實現(xiàn)的接口 : ObjectOutput, ObjectStreamConstants, ObjectInput, ObjectStreamConstants 第 51 頁 保存對象數(shù)據(jù) ObjectOutputStream類 ?ObjectOutputStream類用于將原始數(shù)據(jù)類型以及整個對象寫入到一個流中。如果我們要存儲包含這類信息的文件,首先必須建立對象的類型,為了能夠寫入到ObjectOutputStream中,這些對象必須實現(xiàn) Serializable接口。寫入一個對象的默認的機制是寫入這個對象的類、類的簽名和所有非瞬態(tài)及非靜態(tài)域的值。 Java API對ObjectOutputStream類的定義為: 第 52 頁 保存對象數(shù)據(jù) public class ObjectOutputStream extends OutputStream implements ObjectOutput,ObjectStreamConstants{ public ObjectOutputStream(OutputStream out) throws IOException public final void writeObject(Object obj) throws IOException public void close() throws IOException public void writeBoolean(boolean data) throws IOException public void writeByte(int data) throws IOException public void writeChar(int data) throws IOException public void writeInt(int data) throws IOException public void writeDouble(double data) throws IOException public void writeChars(String data) throws IOException public void writeUTF(String data) throws IOException } 第 53 頁 保存對象數(shù)據(jù) 【 例 】 編寫一個簡單的程序,保存一個整數(shù)、日期和地址對象到一個 ObjectOutputStream流中。要保證 Address類序列化,因而必須使這個類實現(xiàn) Serializable接口。 import .*。 public class Address implements Serializable{ …… } 要存儲對象數(shù)據(jù),需建立一個 ObjectOutputStream對象: ObjectOutputStream out = new ObjectOutputStream ( new FileOutputStream ())。 然后就可使用 out的 writeObject()方法來寫對象。 第 54 頁 讀取對象數(shù)據(jù) ?ObjectInputStream類 ?該類用于讀出一個 ObjectOutputStream流寫入的初始類型數(shù)據(jù)以及整個對象。只有支持 Serializable接口的對象才可以從這個流中讀出。在恢復對象的類型過程中還應使用 Java的類型轉換( type cast)功能。 ?Java API對 ObjecOutputStream類的定義為: 第 55 頁 讀取對象數(shù)據(jù) public class ObjectInputStream extends InputStream implements ObjectInput, ObjectStreamConstants{ public ObjectInputStream(Inpu
點擊復制文檔內容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1