Java, Only Java!

          統(tǒng)計

          留言簿(20)

          積分與排名

          好友空間

          文檔技巧

          閱讀排行榜

          評論排行榜

          《Java大學(xué)教程》—第20章 文件處理

          記錄():一個單獨的數(shù)據(jù)實例。
          域():一個屬性。

          20.3    輸入和輸出設(shè)備:P484
          輸入過程和輸出過程。
          操作系統(tǒng)負(fù)責(zé)建立三個流(stream):標(biāo)準(zhǔn)輸入流(System.in)、標(biāo)準(zhǔn)輸出流(System.out)、標(biāo)準(zhǔn)錯誤流(System.error)。
          輸入類:
          *    InputStream:提供了許多處理基本輸入的底層方法,主要處理字節(jié)序列。
          *    InputStreamReader:提供了更高層的處理方法,主要處理字符序列。
          *    BufferedReader:主要處理字符串形式的輸入數(shù)據(jù)。

          20.4    文件操作:P485
          讀(reading):輸入過程是將數(shù)據(jù)從文件傳送到存儲器。
          寫(writing):輸出過程是將數(shù)據(jù)從存儲器傳送到文件。
          操作單位:字節(jié)、字符、字符串、文本行、基本數(shù)據(jù)類型、對象。

          20.4.1    編碼:文本、二進(jìn)制、對象。P486

          20.4.2    訪問:順序訪問、隨機(jī)訪問。P486

          20.5    讀寫文本文件:P491
          FileWriter:文件輸出,兩種模式(輸出模式、添加模式),底層方法。
          PrintWriter:像輸出到屏幕上一樣,可以設(shè)置輸出的格式,高層方法。
          注:在將信息寫入文件后,最重要的一步操作是關(guān)閉文件。
          關(guān)閉文件的兩個目的:保證將一個特殊的字符--文件結(jié)束符--寫入文件的末尾。關(guān)閉文件意味著程序不能再訪問該文件,防止出現(xiàn)錯誤的寫入操作。

          FileReader:以只讀方式打開,底層方法。
          BufferedReader:依次讀取每個記錄的每個域,高層方法。

          20.6    讀寫二進(jìn)制文件:P495
          底層方法:FileOutputStream、FileInputStream
          高層方法:DataOutputStream、DataInputStream

          20.7    以字符為單位讀取文本文件:P498
          BufferedReader.read():從文件中讀取一個字符。

          20.8    對象序列化(Serialization):P499
          將一個對象轉(zhuǎn)化為適合磁盤存儲的數(shù)據(jù)流的過程稱為序列化(serialization)。
          如果需要將對象序列化必須實現(xiàn)Serializable接口,這個接口不含有任何方法,被稱為marker。
          它的作用僅是提醒使用該類的用戶:即該類的任何對象都可以以整個對象為單位讀出或?qū)懭搿?/p>

          20.9    隨機(jī)訪問文件:P502
          RandomAccessFile.seek():從開始讀或?qū)懖僮髑皩⑽募羔樢苿拥淖止?jié)數(shù)。
          注:打開文件的模式(只讀模式、讀寫模式)。
          自測題:
          1.    輸入輸出的原理:P484
          輸入過程是將數(shù)據(jù)從某個外部設(shè)備傳送到內(nèi)存;
          輸出過程是將數(shù)據(jù)從主存?zhèn)魉偷侥硞€外部設(shè)備。
          為了實現(xiàn)輸入和輸出操作,必須在設(shè)備和計算機(jī)存儲器之間建立一個通信管道。這樣的管道稱為流(stream)。

          2.    輸入流和輸出流:P484
          操作系統(tǒng)負(fù)責(zé)建立一個標(biāo)準(zhǔn)輸入流(standard input stream)和標(biāo)準(zhǔn)輸出流(standard output stream),以及一個標(biāo)準(zhǔn)錯誤流(stand error stream)用于顯示錯誤信息。

          3.    文本編碼、二進(jìn)制編碼和對象編碼的區(qū)別:P486
          文本編碼格式:存儲在磁盤上的數(shù)據(jù)以字符的形式被外部系統(tǒng)使用--通常是ASCII碼。
          二進(jìn)制編碼格式:數(shù)據(jù)的存儲格式與程序使用的數(shù)據(jù)的內(nèi)部表示相同,即按照數(shù)據(jù)在存儲器中的存儲格式。
          對象編碼格式:數(shù)據(jù)是按照一個具體的完整的對象的方式來存取操作的。

          4.    順序訪問文件和隨機(jī)訪問文件的區(qū)別:P486
          順序訪問文件:依次讀出(寫入)每個數(shù)據(jù)元素。操作系統(tǒng)提供文件指針(file pointer),表示存儲器中的一個位置,用于記錄讀寫文件中到達(dá)的位置。
          隨機(jī)訪問文件:直接到達(dá)需要的記錄位置。

          5.    Serializable接口的作用:P499
          將一個對象轉(zhuǎn)化為適合磁盤存儲的數(shù)據(jù)流的過程稱為序列化(serialization)。
          如果需要將對象序列化必須實現(xiàn)Serializable接口,這個接口不含有任何方法,被稱為marker。
          它的作用僅是提醒使用該類的用戶:即該類的任何對象都可以以整個對象為單位讀出或?qū)懭搿?/p>

          6.    對象占用的字節(jié)數(shù)=4+2+(20+2)=28
          private int x;
          private char c;
          private String s;

          編程練習(xí):代碼附件
          1.    BinaryFileTester.java
          2.    FileHandler.java    RunFileHandler.java
          3.    RandomFileTester.java
          4.    ObjectFileTester.java
          5.    先挖坑。。。

          posted on 2016-10-03 10:44 zYx.Tom 閱讀(202) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 桃园市| 东乡族自治县| 循化| 峨山| 冷水江市| 尤溪县| 旬阳县| 萨迦县| 舒兰市| 凤阳县| 乌拉特后旗| 兴安县| 中阳县| 霍山县| 卢氏县| 宣武区| 保亭| 乌拉特前旗| 景泰县| 宣城市| 顺昌县| 遂平县| 英山县| 枣阳市| 中阳县| 萨迦县| 东方市| 大石桥市| 忻州市| 古蔺县| 霍林郭勒市| 固原市| 怀化市| 荃湾区| 团风县| 武山县| 襄汾县| 繁昌县| 临桂县| 深泽县| 涟水县|