大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) Java輸入輸出流

Java輸入輸出流

更新時(shí)間:2022-09-02 11:33:47 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1477次

java I/O流

Java基礎(chǔ)教程中大家會(huì)學(xué)到IO流,大家也都知道,在java中所有數(shù)據(jù)都是使用流讀寫的。流是一組有序的數(shù)據(jù)序列,將數(shù)據(jù)從一個(gè)地方帶到另一個(gè)地方。根據(jù)數(shù)據(jù)流向的不同,可以分為輸入(Input)流和輸出(Output)流兩種。

為什么要使用輸入輸出流

例如,我們平時(shí)用的 Office 軟件,對(duì)于 Word、Excel 和 PPT 文件,我們需要打開文件并讀取這些文本,和編輯輸入一些文本,這都需要利用輸入和輸出的功能。在現(xiàn)實(shí)生活中,輸入和輸出的例子比比皆是。

什么是I/O流

/O流概念:輸入就是將數(shù)據(jù)從各種輸入設(shè)備(包括文件、鍵盤等)中讀取到內(nèi)存中,輸出則正好相反,是將數(shù)據(jù)寫入到各種輸出設(shè)備(比如文件、顯示器、磁盤等)。例如鍵盤就是一個(gè)標(biāo)準(zhǔn)的輸入設(shè)備,而顯示器就是一個(gè)標(biāo)準(zhǔn)的輸出設(shè)備,但是文件既可以作為輸入設(shè)備,又可以作為輸出設(shè)備。

數(shù)據(jù)流是java進(jìn)行I/O操作的對(duì)象,

數(shù)據(jù)流按照不同標(biāo)準(zhǔn)的分類:

按照流的方向主要分為輸入流和輸出流兩大類。

數(shù)據(jù)流按照數(shù)據(jù)單位的不同分為字節(jié)流和字符流。

按照功能可以劃分為節(jié)點(diǎn)流和處理流。

數(shù)據(jù)流的處理只能按照數(shù)據(jù)序列的順序來(lái)進(jìn)行,即前一個(gè)數(shù)據(jù)處理完之后才能處理后一個(gè)數(shù)據(jù)。數(shù)據(jù)流以輸入流的形式被程序獲取,再以輸出流的形式將數(shù)據(jù)輸出到其它設(shè)備

輸入流模式:

輸出流模式:

輸入流

Java 流相關(guān)的類都封裝在 java.io 包中,而且每個(gè)數(shù)據(jù)流都是一個(gè)對(duì)象。所有輸入流類都是 InputStream 抽象類(字節(jié)輸入流)和 Reader 抽象類(字符輸入流)的子類。其中 InputStream 類是字節(jié)輸入流的抽象類,是所有字節(jié)輸入流的父類,其層次結(jié)構(gòu)如下圖所示

InputStream 類中所有方法遇到錯(cuò)誤時(shí)都會(huì)引發(fā) IOException 異常。所以使用時(shí)要拋出異常;

InputStream類常用方法

名稱 作用
int read() 從輸入流讀入一個(gè) 8 字節(jié)的數(shù)據(jù),將它轉(zhuǎn)換成一個(gè) 0~ 255 的整數(shù),返回一個(gè)整數(shù),如果遇到輸入流的結(jié)尾返回 -1
int read(byte[] b) 從輸入流讀取若干字節(jié)的數(shù)據(jù)保存到參數(shù) b 指定的字節(jié)數(shù)組中,返回的字節(jié)數(shù)表示讀取的字節(jié)數(shù),如果遇到輸入流的結(jié)尾返回 -1
int read(byte[] b,int off,int len) 從輸入流讀取若干字節(jié)的數(shù)據(jù)保存到參數(shù) b 指定的字節(jié)數(shù)組中,其中 off 是指在數(shù)組中開始保存數(shù)據(jù)位置的起始下標(biāo),len 是指讀取字節(jié)的位數(shù)。返回的是實(shí)際讀取的字節(jié)數(shù),如果遇到輸入流的結(jié)尾則返回 -1
void close() 關(guān)閉數(shù)據(jù)流,當(dāng)完成對(duì)數(shù)據(jù)流的操作之后需要關(guān)閉數(shù)據(jù)流
int available() 返回可以從數(shù)據(jù)源讀取的數(shù)據(jù)流的位數(shù)。
skip(long n) 從輸入流跳過參數(shù) n 指定的字節(jié)數(shù)目
boolean markSupported() 判斷輸入流是否可以重復(fù)讀取,如果可以就返回 true
void mark(int readLimit) 如果輸入流可以被重復(fù)讀取,從流的當(dāng)前位置開始設(shè)置標(biāo)記,readLimit 指定可以設(shè)置標(biāo)記的字節(jié)數(shù)
void reset() 使輸入流重新定位到剛才被標(biāo)記的位置,這樣可以重新讀取標(biāo)記過的數(shù)據(jù)

上述最后 3 個(gè)方法一般會(huì)結(jié)合在一起使用,首先使用 markSupported() 判斷,如果可以重復(fù)讀取,則使用 mark(int readLimit) 方法進(jìn)行標(biāo)記,標(biāo)記完成之后可以使用 read() 方法讀取標(biāo)記范圍內(nèi)的字節(jié)數(shù),最后使用 reset() 方法使輸入流重新定位到標(biāo)記的位置,繼而完成重復(fù)讀取操作。

輸出流

在 Java 中所有輸出流類都是 OutputStream 抽象類(字節(jié)輸出流)和 Writer 抽象類(字符輸出流)的子類。其中 OutputStream 類是字節(jié)輸出流的抽象類,是所有字節(jié)輸出流的父類,其層次結(jié)構(gòu)如下圖所示

OutputStream 類是所有字節(jié)輸出流的超類,用于以二進(jìn)制的形式將數(shù)據(jù)寫入目標(biāo)設(shè)備,該類是Java抽象類,不能被實(shí)例化。OutputStream 類提供了一系列跟數(shù)據(jù)輸出有關(guān)的方法,如下所示。

名稱 作用
int write(b) 將指定字節(jié)的數(shù)據(jù)寫入到輸出流
int write (byte[] b) 將指定字節(jié)數(shù)組的內(nèi)容寫入輸出流
int write (byte[] b,int off,int len) 將指定字節(jié)數(shù)組從 off 位置開始的 len 字節(jié)的內(nèi)容寫入輸出流
close() 關(guān)閉數(shù)據(jù)流,當(dāng)完成對(duì)數(shù)據(jù)流的操作之后需要關(guān)閉數(shù)據(jù)流
flush() 刷新輸出流,強(qiáng)行將緩沖區(qū)的內(nèi)容寫入輸出流

 

提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-10-10 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 四虎影视网址 | 免费观看黄色网 | 国产色视频在线 | 99精品久久 | 91精品国产爱久久久久 | 曰本一区 | 欧美大屁股精品毛片视频 | 亚洲国产www | 亚洲视频精品在线观看 | 9热这里只有真品 | 亚洲第一区第二区 | 久久久久久久久久免免费精品 | 久操社区 | 97在线观看免费 | 中文字幕在线免费视频 | 欧美大片在线观看成人 | 国产全黄a一级毛片视频 | 中国精品久久 | 久久午夜国产片 | 久久亚洲美女久久久久 | 黄色生活毛片 | 日本高清视频www夜色资源网 | 精品久久看 | 天天操夜夜欢 | 欧美日韩中文在线视频 | 国产精品99爱免费视频 | 日本中文字幕一区二区 | 精品国精品国产自在久国产不卡 | 国产片久久 | 国内自拍网红在线综合 | 欧美中文综合在线视频 | 69av美女| 久久女人天堂 | 国产成人久久精品麻豆二区 | 色拍拍欧美视频在线看 | 国产成人无精品久久久久国语 | 欧美性猛交ⅹxxx乱大交按摩 | 中文字幕亚洲欧美一区 | 黄色免费看网站 | 成年网站视频在线观看 | 国产亚洲欧美日韩综合综合二区 |