今天談?wù)劻鳎裁词荌O流?

今天談?wù)劻鞣锞蓿裁词荌O流?

流是磁盤或其它外圍設(shè)備中存儲的數(shù)據(jù)的源點或終點视乐。這是在《C程序設(shè)計語言》上的原話。流主要是指一種邏輯上的概念敢茁,它提供或存儲數(shù)據(jù)佑淀。產(chǎn)生數(shù)據(jù)的叫輸入流,消耗數(shù)據(jù)的叫輸出流彰檬。至于怎么產(chǎn)生伸刃,又怎么消耗,這是一種物理上的實現(xiàn)逢倍,根據(jù)每種設(shè)備有所不同捧颅,但C語言中對它們一視同仁,以一個“流”字來概括它們的特征较雕。作為流的使用者來說碉哑,不需要關(guān)心太多的細節(jié)。體現(xiàn)了計算機的核心思想對復雜的東西抽象化。流的實現(xiàn)保證了它具有它所聲明的特性扣典。C語言中對IO流的不同角度有不同的劃分妆毕。其實這里也有諸多形象的例子,比如設(shè)備與文件直接傳輸過程就像一個房間里放著一塊冰贮尖。一個房間需要用水设塔。那么最簡單的方式,融合它远舅,以水的形式流過去闰蛔。

按照流向分為: ?輸入流和輸出流

按照數(shù)據(jù)的表現(xiàn)形式分為 :字節(jié)流(二進制,可以處理一切文件图柏,文本序六,音頻等)和字符流文本文件,只能是純文本蚤吹,像txt)

文本流的特點是流由文本行組成例诀,每一行有0個或多個字符并以’\n’字符結(jié)束,即它是有一定意義的裁着,以某種字符集的字符組成的一個序列繁涂。一個文本流,讀入與寫出時可能會對其內(nèi)容作更改二驰,因為它是有一定意義的扔罪,系統(tǒng)可以識別并在適當時候解釋,比如在輸出文本流中碰到’\b’時桶雀,系統(tǒng)的操作是將輸入流中的前一個字符刪除矿酵,在終端上顯示就是在它前面輸出的這個字符被刪除了;二進制流則完成是由一些“生”的矗积,未經(jīng)處理的數(shù)據(jù)組成的全肮,C語言將它們看成由0與1組成的序列來讀與寫,所以它們的特性是同一系統(tǒng)中把同一二進制流讀入與寫出棘捣,其內(nèi)容沒有任何變化辜腺。這里區(qū)分了文本流和二進制流可以看出他們有諸多不同的地方的。其實說白了乍恐,文本流人家有樣式评疗,穿衣服。進cpu洗澡的時候禁熏,要有人脫衣服壤巷,出來的時候也有人給穿衣服,有人給打扮瞧毙。而二進制本來就是裸著胧华,出進倒是方便了寄症。文本文件是為人類使用設(shè)計的,像你的txt矩动。而二進制的流是計算機使用的有巧。像你編譯完的程序。

下面我們以圖的形式來區(qū)分二進制流和文本流


在IO流里悲没,輸入輸出分為4步:格式化/解析篮迎,緩沖,編碼轉(zhuǎn)換和傳遞示姿。

格式化/解析:在內(nèi)部數(shù)據(jù)表示(以字節(jié)為單位)與外部數(shù)據(jù)表示(以字符為單位)之間進行雙向轉(zhuǎn)換甜橱。例如一個2字節(jié)的整數(shù)10002,就需要5個字符來表示栈戳。

緩沖:用于在格式/解析與傳遞只加緩存字符序列岂傲。對于輸出,較短的字符序列格式化之后并不馬上輸出子檀,而是保存在緩沖區(qū)里镊掖,待累積到一定規(guī)模之后再傳遞到外部設(shè)備。相反褂痰,從外部設(shè)備讀入的大量數(shù)據(jù)也是先放在緩沖區(qū)亩进,然后逐步取出完成輸入。默認時缩歪,IO流的輸入輸出都是經(jīng)過緩沖的归薛,也可以讓IO流工作在無緩沖模式下。

編碼轉(zhuǎn)換: 是將一種字符表達式轉(zhuǎn)換成另一種字符表達式驶冒。如果格式化產(chǎn)生的字符表達式與外部字符表達式不同(輸出時)苟翻,或者外部表達式與IO流能解析的表達式不同(輸入時),就必須進行編碼轉(zhuǎn)換骗污。如多字節(jié)編碼與寬字符編碼之間的轉(zhuǎn)換等。多數(shù)情況下并不需要進行編碼轉(zhuǎn)換沈条。

傳遞:主要是與外部設(shè)備進行通信需忿。輸出時,傳遞負責將經(jīng)過格式化蜡歹、緩沖即編碼轉(zhuǎn)換后的字符序列發(fā)送到外部設(shè)備屋厘;輸入時,則負責將外部設(shè)備抽取數(shù)據(jù)月而,為其后進行的編碼轉(zhuǎn)換汗洒、緩沖及解析提供字符序列。在我們學習的C語言中也是這個過程父款。你用一些函數(shù)讀取文件的時候也是要解析然后放到緩沖區(qū)溢谤,然后使用瞻凤。

2016年10月15日13:42:30 張飛online

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市世杀,隨后出現(xiàn)的幾起案子阀参,更是在濱河造成了極大的恐慌,老刑警劉巖瞻坝,帶你破解...
    沈念sama閱讀 211,123評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛛壳,死亡現(xiàn)場離奇詭異,居然都是意外死亡所刀,警方通過查閱死者的電腦和手機衙荐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來浮创,“玉大人忧吟,你說我怎么就攤上這事≌裘” “怎么了瀑罗?”我有些...
    開封第一講書人閱讀 156,723評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長雏掠。 經(jīng)常有香客問我斩祭,道長,這世上最難降的妖魔是什么乡话? 我笑而不...
    開封第一講書人閱讀 56,357評論 1 283
  • 正文 為了忘掉前任摧玫,我火速辦了婚禮,結(jié)果婚禮上绑青,老公的妹妹穿的比我還像新娘诬像。我一直安慰自己,他們只是感情好闸婴,可當我...
    茶點故事閱讀 65,412評論 5 384
  • 文/花漫 我一把揭開白布坏挠。 她就那樣靜靜地躺著,像睡著了一般邪乍。 火紅的嫁衣襯著肌膚如雪降狠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,760評論 1 289
  • 那天庇楞,我揣著相機與錄音榜配,去河邊找鬼。 笑死吕晌,一個胖子當著我的面吹牛蛋褥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播睛驳,決...
    沈念sama閱讀 38,904評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼烙心,長吁一口氣:“原來是場噩夢啊……” “哼膜廊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起弃理,我...
    開封第一講書人閱讀 37,672評論 0 266
  • 序言:老撾萬榮一對情侶失蹤溃论,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后痘昌,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體钥勋,經(jīng)...
    沈念sama閱讀 44,118評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,456評論 2 325
  • 正文 我和宋清朗相戀三年辆苔,在試婚紗的時候發(fā)現(xiàn)自己被綠了算灸。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,599評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡驻啤,死狀恐怖菲驴,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情骑冗,我是刑警寧澤赊瞬,帶...
    沈念sama閱讀 34,264評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站贼涩,受9級特大地震影響巧涧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜遥倦,卻給世界環(huán)境...
    茶點故事閱讀 39,857評論 3 312
  • 文/蒙蒙 一谤绳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧袒哥,春花似錦缩筛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至却紧,卻和暖如春婿失,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背啄寡。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留哩照,地道東北人挺物。 一個月前我還...
    沈念sama閱讀 46,286評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像飘弧,于是被迫代替她去往敵國和親识藤。 傳聞我的和親對象是個殘疾皇子砚著,可洞房花燭夜當晚...
    茶點故事閱讀 43,465評論 2 348

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)痴昧,斷路器稽穆,智...
    卡卡羅2017閱讀 134,628評論 18 139
  • tags:io categories:總結(jié) date: 2017-03-28 22:49:50 不僅僅在JAVA領(lǐng)...
    行徑行閱讀 2,171評論 0 3
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法赶撰,內(nèi)部類的語法舌镶,繼承相關(guān)的語法,異常的語法豪娜,線程的語...
    子非魚_t_閱讀 31,598評論 18 399
  • 生活中無數(shù)個時刻我們都會覺得自己仿佛已經(jīng)承受了這個年紀不應該承受的許多,許多時候總有參悟紅塵的感覺鸣奔。 一個人的時候...
    叫我黃某某閱讀 1,592評論 8 21
  • 本文參加#感悟三下鄉(xiāng)墨技,青春筑夢行#活動,本人承諾挎狸,文章內(nèi)容為原創(chuàng)扣汪,且未在其他平臺發(fā)表過。 ...
    來過也去閱讀 145評論 0 1