1. 程式人生 > >Java基礎總結之流

Java基礎總結之流

一、JAVA流式輸入/輸出原理

  

  流是用來讀寫資料的,java有一個類叫File,它封裝的是檔案的檔名,只是記憶體裡面的一個物件,真正的檔案是在硬碟上的一塊空間,在這個檔案裡面存放著各種各樣的資料,我們想讀檔案裡面的資料怎麼辦呢?是通過一個流的方式來讀,咱們要想從程式讀資料,對於計算機來說,無論讀什麼型別的資料都是以010101101010這樣的形式讀取的。怎麼把檔案裡面的資料讀出來呢?你可以把檔案想象成一個小桶,檔案就是一個桶,檔案裡面的資料就相當於是這個桶裡面的水,那麼我們怎麼從這個桶裡面取水呢,也就是怎麼從這個檔案讀取資料呢。

  常見的取水的辦法是我們用一根管道插到桶上面,然後在管道的另一邊開啟水龍頭,桶裡面的水就開始嘩啦嘩啦地從水龍頭裡流出來了,桶裡面的水是通過這根管道流出來的,因此這根管道就叫流,JAVA

裡面的流式輸入/輸出跟水流的原理一模一樣,當你要從檔案讀取資料的時候,一根管道插到檔案裡面去,然後檔案裡面的資料就順著管道流出來,這時你在管道的另一頭就可以讀取到從檔案流出來的各種各樣的資料了。當你要往檔案寫入資料時,也是通過一根管道,讓要寫入的資料通過這根管道嘩啦嘩啦地流進檔案裡面去。除了從檔案去取資料以外,還可以通過網路,比如用一根管道把我和你的機子連線起來,我說一句話,通過這個管道流進你的機子裡面,你馬上就可以看得到,而你說一句話,通過這根管道流到我的機子裡面,我也馬上就可以看到。有的時候,一根管道不夠用,比方說這根管道流過來的水有一些雜質,我們就可以在這個根管道的外面再包一層管道,把雜質給過濾掉。從程式的角度來講,從計算機讀取到的原始資料肯定都是010101
這種形式的,一個位元組一個位元組地往外讀,當你這樣讀的時候你覺得這樣的方法不合適,沒關係,你再在這根管道的外面再包一層比較強大的管道,這個管道可以把010101幫你轉換成字串。這樣你使用程式讀取資料時讀到的就不再是010101這種形式的資料了,而是一些可以看得懂的字串了。