java中的流是個(gè)抽象的概念,當(dāng)程序需要從某個(gè)數(shù)據(jù)源讀入數(shù)據(jù)的時(shí)候,就會(huì)開(kāi)啟一個(gè)數(shù)據(jù)流,數(shù)據(jù)源可以是文件、內(nèi)存或網(wǎng)絡(luò)等等。
相反地,需要寫(xiě)出數(shù)據(jù)到某個(gè)數(shù)據(jù)源目的地的時(shí)候,也會(huì)開(kāi)啟一個(gè)數(shù)據(jù)流,這個(gè)數(shù)據(jù)源目的地也可以是文件、內(nèi)存或網(wǎng)絡(luò)等等
流是一組有順序的,有起點(diǎn)和終點(diǎn)的字節(jié)集合,是對(duì)數(shù)據(jù)傳輸?shù)目偡Q(chēng)或抽象。即數(shù)據(jù)在兩設(shè)備間的傳輸稱(chēng)為流。 ? ?(推薦學(xué)習(xí):java課程)
流的本質(zhì)是數(shù)據(jù)傳輸,根據(jù)數(shù)據(jù)傳輸特性將流抽象為各種類(lèi),方便更直觀的進(jìn)行數(shù)據(jù)操作。
立即學(xué)習(xí)“Java免費(fèi)學(xué)習(xí)筆記(深入)”;
Java中的流可以從不同的角度進(jìn)行分類(lèi):
按照流的方向不同:分為輸入流和輸出流。
按照處理數(shù)據(jù)單位的不同:分為字節(jié)流(8位)和字符流(16位)。
按照功能不同:分為節(jié)點(diǎn)流和處理流。
節(jié)點(diǎn)流:是可以從一個(gè)特定的數(shù)據(jù)源(節(jié)點(diǎn))讀寫(xiě)數(shù)據(jù)的流(例如文件,內(nèi)存)。就像是一條單一的管子接到水龍頭上開(kāi)始放水。
處理流:是“連接”在已經(jīng)存在的流(節(jié)點(diǎn)流或處理流)之上,通過(guò)對(duì)數(shù)據(jù)的處理為程序提供更為強(qiáng)大的讀寫(xiě)功能。就像在已經(jīng)接了一條管子(節(jié)點(diǎn)流)的基礎(chǔ)上,又套上幾個(gè)更粗,具有特殊功能的管子(處理流)對(duì)流出的水進(jìn)一步的處理。
四種基本流InputStream,OutputStream,Reader,Writer又分別有更具體的子類(lèi),分為文件流,緩沖流,數(shù)據(jù)流,轉(zhuǎn)換流,Print流,Object流等,都分別有特定的功能或用來(lái)操作特定的數(shù)據(jù)
以上就是java中的流是什么的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
java怎么學(xué)習(xí)?java怎么入門(mén)?java在哪學(xué)?java怎么學(xué)才快?不用擔(dān)心,這里為大家提供了java速學(xué)教程(入門(mén)到精通),有需要的小伙伴保存下載就能學(xué)習(xí)啦!
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://m.miracleart.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)