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 張貝貝 閱讀(1623) 評論(1)  編輯  收藏

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 舟山市| 团风县| 平泉县| 上饶市| 通河县| 阜新| 婺源县| 罗甸县| 阳高县| 随州市| 油尖旺区| 青阳县| 云浮市| 岳阳市| 平利县| 汶川县| 普定县| 犍为县| 咸宁市| 蒙城县| 德安县| 延寿县| 西藏| 新乐市| 西乡县| 信阳市| 宁都县| 乌苏市| 台北县| 峡江县| 海淀区| 宜昌市| 保亭| 镇平县| 汉中市| 高淳县| 武冈市| 曲阳县| 新沂市| 郑州市| 叙永县|