posts - 6,  comments - 8,  trackbacks - 0

                   流是程序和外界進行數(shù)據(jù)交換的通道。分為輸入流InputStream和輸出流OutputStream。程序通過輸入流從數(shù)據(jù)源讀取數(shù)據(jù),通過輸出流向目的地寫數(shù)據(jù)。
                 在計算機世界里,信息就是數(shù)據(jù),信息的交換就是數(shù)據(jù)流。就好比我們?nèi)粘I钪械目梢钥吹降乃骷翱床坏降碾娏鞫际且环N流。

               流是指一連串流動的字符(應(yīng)該是字節(jié)),以先進先出的方式發(fā)送信息的通道。從傳輸上分為字節(jié)流和字符流,字節(jié)占8位,字符占16位。從使用上分為節(jié)點流和過濾流,其中過濾流包含處理流、包裝流。
             下面我們來說一下流的創(chuàng)建,創(chuàng)建一個流,那么內(nèi)存怎么分配呢?首先是對象分配內(nèi)存,然后是OS分配資源內(nèi)存。當(dāng)這個流用完后,我們要進行的操作的是關(guān)閉這個流,Close通知OS釋放資源(其中OS為操作系統(tǒng))。
             輸入流:
             InputStream類是所有輸入流的父類,它是一個抽象類,不能被實例化。它提供了一系列和讀取數(shù)據(jù)有關(guān)的方法。
             int read(),int read(byte[] b)從數(shù)據(jù)源讀取數(shù)據(jù)
          void close() 當(dāng)完成讀操作后,應(yīng)該關(guān)閉輸入流。
          常用到的子類,ByteArrayInputStream字節(jié)數(shù)組輸入流, FileInputStream文件輸入流, StringBufferStream字符串緩沖輸入流, ObjectInputStream對象輸入流, FilterInputStream過濾輸入流,其中過濾輸入流中主要用到的是BufferedInputStream和DataInputStream(實現(xiàn)了DataInput接口,用于讀取基本數(shù)據(jù)類型,如int 、long、float、double、boolean等)
                有輸入流,就有相應(yīng)的輸出流,也就是說將intput改為output。但是在這里要著重提到的是隨機讀取文件類RandomAccessFile和對象流Object。本人對前者沒有多少嘗試,但對后者我就可以分享我的一點知識。對象流用到了對象的序列化和反序列化,序列化的意思就是把對象寫到一個輸入流中;反序列化是從一個輸入流中讀取一個對象。如果要采用對象輸入輸出流,那么這個對象的類必須實現(xiàn)可序列化接口。將對象也就是對象的成員變量作為整體,寫到流中存儲到文件里邊。或者就是把對象放到數(shù)組里邊,將這個對象數(shù)組存入到同一個文件中,對其進行操作,在沒有數(shù)據(jù)庫的情況下,我個人認為這是最好的保存對象信息方法。
             該睡覺了,先寫到這里,明天將我所做的對象流代碼寫到上邊,供大家參考交流
          posted on 2010-03-17 22:59 張貝貝 閱讀(1619) 評論(1)  編輯  收藏

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 开远市| 广昌县| 新干县| 昂仁县| 军事| 平乐县| 拜城县| 万全县| 荥阳市| 大竹县| 临猗县| 镇赉县| 云和县| 麻城市| 师宗县| 基隆市| 湟源县| 肃北| 塔城市| 夏河县| 马关县| 鹿邑县| 南漳县| 金山区| 无锡市| 偏关县| 碌曲县| 安仁县| 抚松县| 澳门| 林州市| 濮阳县| 昌江| 青神县| 龙山县| 台南县| 依安县| 山东省| 和静县| 井陉县| 奉新县|