java--IOStream

java流式輸入/輸出原理
在java程序中死陆,對于數(shù)據(jù)的輸入余黎、輸出操作以“流”的方式進(jìn)行摆出,用以獲取不同的數(shù)據(jù)疯坤。

程序中通過標(biāo)準(zhǔn)的方法輸入和輸出數(shù)據(jù)。

java.io包定義了多個流類型(類或抽象類)來實現(xiàn)輸入曾雕、輸出功能踏施。
注:所有的輸入和輸出都是站在程序的角度來說明的叮叹。

可以從不同的角度對其進(jìn)行分類问畅。
<1>按照處理數(shù)據(jù)的單位不同可以分為字節(jié)流和字符流。
<2>按照功能不同可以分為節(jié)點流和處理流六荒。
注:
節(jié)點流:節(jié)點流為可以從一個特定的數(shù)據(jù)源(節(jié)點)讀寫數(shù)據(jù)(如:文件护姆、內(nèi)存)
處理流:處理流是“連接”在已存在的流(節(jié)點流或者處理流)之上,通過對數(shù)據(jù)的處理為程序提供更為強大的讀寫功能掏击。

圖片.png

四個抽象類的輸入輸出:


圖片.png

InputStream:


圖片.png

//讀取一個字節(jié)并以整數(shù)的形式返回(0~255)
//如果返回-1卵皂,說明已到輸入流的末尾。
int read() throws IOException

//讀取一系列字節(jié)并存儲到一個數(shù)組buffer
//返回實際讀取的字節(jié)數(shù)砚亭,如果讀取前已到輸入流的末尾返回-1
int read(byte[] buffer) throws IOException

//讀取length個字節(jié)
//并儲存到一個字節(jié)數(shù)組BUffer中灯变,從offset開始
//返回實際讀取的字節(jié)數(shù)殴玛,如果讀取前已到輸入流的末尾返回-1
int read(byte[] buffer, int offset, int length) throws IOException

//關(guān)閉流釋放內(nèi)存資源
void close() throws IOException

//跳過n個字節(jié)不讀,返回實際跳過的字節(jié)數(shù)
long skip(long n) throws IOException

OutPutStream的基本方法
//向輸出流中寫入一個字節(jié)數(shù)據(jù)添祸,該字節(jié)數(shù)據(jù)為參數(shù)b的低8位滚粟。
void write(int b)throws IOException

//將字節(jié)類型的數(shù)組中的數(shù)據(jù)寫入到輸出流
void write(byte[] b) throws IOEXception

//將一個字節(jié)類型的數(shù)組中的從指定位置開始的(off)開始的len個字節(jié)寫入到輸出流。
void write(byte[] b, int off, int len)throws IOEception

//關(guān)閉流釋放內(nèi)存資源
void close() throws IOException

//將輸出流中緩沖的數(shù)據(jù)全部寫出到目的地
void flush() throws IOException

字符流:兩個字節(jié)的輸入或者輸出

圖片.png

Reader用于向程序中輸入數(shù)據(jù)刃泌,且數(shù)據(jù)的處理單位是兩個字節(jié)凡壤。

圖片.png

//讀取一個字符并以整數(shù)的形式返回(0~255)
//如果返回-1已到輸入流的末尾
int read() throws IPEXception

//讀取一些列字符并存儲到一個數(shù)組buffer
//返回實際讀取的字符數(shù),如果讀取前已到輸入流的末尾返回-1
int read(char[] cbuf) throws IOExcetion

//讀取length個字符
//并存儲到一個數(shù)組BUffer耙替,offset位置開始
//返回實際讀取的字符數(shù)亚侠,如果讀取前已到輸入流的末尾返回-1
int read(char[] cbuf, int offset, int length) throws IOException

//關(guān)閉流釋放內(nèi)存資源
void close() throws IOException

//跳過n個字符不讀,返回實際跳過的字節(jié)數(shù)
long skip(long n) throws IOException

Writer輸出一個字符數(shù)據(jù):


圖片.png

//向流中寫入一個字符數(shù)據(jù)俗扇,該字符數(shù)據(jù)為參數(shù)b的低16位
void write(int b ) throws IOException

//將一個字符類型的數(shù)組中的數(shù)據(jù)寫入輸出流
void write(char[] cbuf) throws IOException

//將一個字符類型的數(shù)組中的從指定位置(offset)開始的length個字符寫入到輸出流
void write(char[] cbuf, int offset, int length) throws IOException

//將一個字符串中的字符寫入到輸出流
void write(String string) throws IOException

//將一個字符串從offset開始的length個字符寫入到輸出流
void write(String string, int offset, int length) throws IOException

//關(guān)閉流釋放內(nèi)存資源
void close() throws IOException

//將輸出流中緩存的數(shù)據(jù)全部寫出到目的地
void flush() throws IOException

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末硝烂,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子铜幽,更是在濱河造成了極大的恐慌滞谢,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件啥酱,死亡現(xiàn)場離奇詭異爹凹,居然都是意外死亡,警方通過查閱死者的電腦和手機镶殷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進(jìn)店門禾酱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人绘趋,你說我怎么就攤上這事颤陶。” “怎么了陷遮?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵滓走,是天一觀的道長。 經(jīng)常有香客問我帽馋,道長搅方,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任绽族,我火速辦了婚禮姨涡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘吧慢。我一直安慰自己涛漂,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著匈仗,像睡著了一般瓢剿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上悠轩,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天间狂,我揣著相機與錄音,去河邊找鬼哗蜈。 笑死前标,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的距潘。 我是一名探鬼主播炼列,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼音比!你這毒婦竟也來了俭尖?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤洞翩,失蹤者是張志新(化名)和其女友劉穎稽犁,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體骚亿,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡已亥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了来屠。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片虑椎。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖俱笛,靈堂內(nèi)的尸體忽然破棺而出捆姜,到底是詐尸還是另有隱情,我是刑警寧澤迎膜,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布泥技,位于F島的核電站,受9級特大地震影響磕仅,放射性物質(zhì)發(fā)生泄漏珊豹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一榕订、第九天 我趴在偏房一處隱蔽的房頂上張望平夜。 院中可真熱鬧,春花似錦卸亮、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽段直。三九已至,卻和暖如春溶诞,著一層夾襖步出監(jiān)牢的瞬間鸯檬,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工螺垢, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留喧务,地道東北人。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓枉圃,卻偏偏與公主長得像功茴,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子孽亲,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,870評論 2 361

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

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法坎穿,類相關(guān)的語法,內(nèi)部類的語法返劲,繼承相關(guān)的語法玲昧,異常的語法,線程的語...
    子非魚_t_閱讀 31,665評論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理篮绿,服務(wù)發(fā)現(xiàn)孵延,斷路器,智...
    卡卡羅2017閱讀 134,716評論 18 139
  • 一亲配、流的概念和作用尘应。 流是一種有順序的,有起點和終點的字節(jié)集合弃榨,是對數(shù)據(jù)傳輸?shù)目偝苫虺橄笃惺铡<磾?shù)據(jù)在兩設(shè)備之間的傳輸...
    布魯斯不吐絲閱讀 10,062評論 2 95
  • 反反復(fù)復(fù)的改臉型,最后發(fā)現(xiàn)還是最開始的最好鲸睛,娜饵,,
    團(tuán)子的安閱讀 333評論 0 1
  • 當(dāng)了一輩子老師的大姨今年93歲了官辈。我知道她最喜歡人家稱呼她----“許姓”箱舞。出身書香門第的她小時候就讀銅山古城寶智...
    怣慧閱讀 897評論 16 13