happy in java之io流簡介

來源:互聯網
上載者:User

標籤:記憶體   開啟   字元   bsp   流式   com   一模一樣   stream   str   

 

閑來沒事,重溫馬士兵老師的java基礎。。。

流  水流的流  流氓的流,,流 英文叫做stream,溪流

流的分類:

流是用來讀寫資料的。

 

流就像水流一樣,File類封裝的是檔案的名字,它是記憶體裡頭的一個對象,OK,但是真正的檔案是在硬碟上的一塊空間,在這檔案裡頭,存著各種各樣的資料,那麼我們想讀這資料怎麼辦呢?是這樣來讀,是通過一個流的方式來讀。

如,比方說這是我們檔案,咱們要想從程式讀資料,大家都知道,對於電腦來說,你讀任何的資料都是什麼樣的形式,是不是都是010101 這些形式,對吧 。

怎麼樣吧這些檔案裡邊的內容個讀出來,你就把這個檔案想象成一個小桶。檔案就是個桶,你怎麼從桶裡邊取水呢?或者說怎麼從檔案裡邊取資料呢,常見的取法是這樣的,我們弄一根管道懟到桶上,然後把這根管道,哐唧,一懟,懟到桶上邊,這邊開啟水龍頭,就開始出水,這就叫流,什麼叫流,這根管道就叫流,水流嘩啦嘩啦嘩啦流出來了,這就叫流,java裡頭的輸入輸出,跟這個水流一模一樣,當你要從檔案取資料的時候,一根管道咣唧懟上去,然後就順著這根管道,你開始往外讀資料。

你要往裡頭寫資料呢?反過來,咣唧一根管道懟上去,從管道這一頭開始咵唧咵唧往裡頭灌水。

除了你可以從檔案讀寫資料呢,你還可以從網路,比如這根管道咵唧從我機器上懟到你機器上了,我說一句話,你那邊就收著了。你說一句話我這邊就收著了。OK?

 

 有的時候一根管道不夠使,比方說這根管道讀過來的水,裡有雜質,外邊再包一層管道, 比方說你讀過來的資料,最原始的資料肯定是010101,一個位元組一個位元組的往外讀,當你這樣讀的時候你覺得這樣的方法不合適,沒關係。外邊再包一層強大一點的管道,這個管道可以吧010101轉換成字串,哐當讀出來,這個管道就包在了原始管道的外邊, 這就是流式的輸入輸出,這些管道就是java的流。

流的分類:

根據不同的角度分成不同的類型,io包裡頭定義了所有的流。

輸入資料流or輸出資料流的劃分:都是站在程式打的角度來說的,相對於程式來說的。

位元組流or字元流:

      位元組流:最原始的一個流, 讀出來的資料就是010101,只不過是按照位元組來讀的,一個位元組是8位。

      字元流:一個字元一個字元往外讀,字元是2個位元組。Java裡邊是Unicode字串一個字元是2個位元組。 Utf16  ok

節點流or處理流:

      節點流:這根管道直接懟到資料來源上的流。

      處理流:套在其他管道之上的流。

 凡是以Stream結尾的都是位元組流,最原始的讀取資料的方式,一個位元組一個位元組的讀。

 

 

happy in java之io流簡介

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.