Java, Only Java!

          統計

          留言簿(20)

          積分與排名

          好友空間

          文檔技巧

          閱讀排行榜

          評論排行榜

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

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

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

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

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

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

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

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

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

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

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

          20.9    隨機訪問文件:P502
          RandomAccessFile.seek():從開始讀或寫操作前將文件指針移動的字節數。
          注:打開文件的模式(只讀模式、讀寫模式)。
          自測題:
          1.    輸入輸出的原理:P484
          輸入過程是將數據從某個外部設備傳送到內存;
          輸出過程是將數據從主存傳送到某個外部設備。
          為了實現輸入和輸出操作,必須在設備和計算機存儲器之間建立一個通信管道。這樣的管道稱為流(stream)。

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

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

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

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

          6.    對象占用的字節數=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 閱讀(196) 評論(0)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 当阳市| 石阡县| 万盛区| 宣化县| 墨玉县| 汉阴县| 泰宁县| 仙桃市| 山丹县| 曲阜市| 禄丰县| 大埔区| 荣成市| 南澳县| 喜德县| 永胜县| 宝鸡市| 收藏| 仙居县| 双鸭山市| 常德市| 崇阳县| 漳浦县| 阜城县| 喀什市| 桃源县| 东平县| 通河县| 山阳县| 瑞安市| 莫力| 彭阳县| 麻江县| 平阳县| 安顺市| 固安县| 罗平县| 平谷区| 扬中市| 阆中市| 新疆|