Java, Only Java!

          統(tǒng)計

          留言簿(20)

          積分與排名

          好友空間

          文檔技巧

          閱讀排行榜

          評論排行榜

          《Java大學教程》—第20章 文件處理

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

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

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

          20.4.1    編碼:文本、二進制、對象。P486

          20.4.2    訪問:順序訪問、隨機訪問。P486

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

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

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

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

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

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

          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;

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

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


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


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 沽源县| 酒泉市| 济阳县| 安新县| 乌鲁木齐县| 蓬安县| 望城县| 石林| 临武县| 涪陵区| 永定县| 揭阳市| 疏附县| 寿宁县| 高邮市| 江山市| 濮阳县| 大余县| 光山县| 义乌市| 深泽县| 隆尧县| 宁陕县| 思南县| 云霄县| 蛟河市| 镇沅| 仁化县| 淄博市| 思南县| 满洲里市| 德令哈市| 宝鸡市| 洪洞县| 江源县| 钦州市| 南投县| 辽中县| 闽侯县| 商城县| 铜川市|