Java当中的IO一
1.IO操作的目標(biāo)
什么是IO操作的目標(biāo)?
輸入:
從數(shù)據(jù)源當(dāng)中讀取數(shù)據(jù)
輸出:
將數(shù)據(jù)寫(xiě)入到數(shù)據(jù)目的地當(dāng)中
有數(shù)據(jù)進(jìn)入到程序當(dāng)中,這個(gè)過(guò)程就可以被叫做輸入
流:即在數(shù)據(jù)源與程序之間建立的傳輸通道
2.IO的分類(lèi)方法
IO的分類(lèi):
第一種分法:
1.輸入流
2.輸出流
第二種分法:
1.字節(jié)流:即讀取數(shù)據(jù)時(shí),以字節(jié)為基礎(chǔ),每次讀取幾個(gè)字節(jié)
2.字符流:即每次讀取一個(gè)字符
第三種分法:
1.節(jié)點(diǎn)流:即正真處理數(shù)據(jù)的IO流(普通的水管)
2.處理流:即用來(lái)在節(jié)點(diǎn)流的基礎(chǔ)上,對(duì)數(shù)據(jù)進(jìn)行再加工(普通的水管外套一層處理層)
IO當(dāng)中的字節(jié)流的核心類(lèi):
InputStream和OutputStream是所有字節(jié)流的父類(lèi)
InputStream和OutputStream都是抽象類(lèi)
3.讀取文件和寫(xiě)入文件的方法
讀取數(shù)據(jù)的方法:
InputStream:
Int read(byte[] b,int off ,int len);
read()從硬盤(pán)的文件當(dāng)中讀取數(shù)據(jù),以字節(jié)的形式把數(shù)據(jù)讀進(jìn)來(lái),讀取的數(shù)據(jù)保存在byte[] b這個(gè)數(shù)組當(dāng)中
int off:為偏移量,讀進(jìn)來(lái)的數(shù)據(jù)從這個(gè)數(shù)組的第幾位開(kāi)始放
Int len:讀取一次最多讀多少數(shù)據(jù)
返回值是這一次調(diào)用read()方法總共讀取了多少字節(jié)的數(shù)據(jù)
寫(xiě)入數(shù)據(jù)的方法:
OutputStream:
void write(byte[] b,int off,int len);
byte[] b:要文件里面寫(xiě)的數(shù)據(jù)
int off:從數(shù)組的第幾位開(kāi)始往文件里面寫(xiě)
Int len:一次一共要往文件里面寫(xiě)多少位數(shù)據(jù)
使用過(guò)程:
注意:在文件讀數(shù)據(jù)流時(shí)候需要對(duì)FileInputStream的FileNotFoundException進(jìn)行捕捉拋出,否則編譯將不通過(guò)(checked Exception),如下圖
注意:在此數(shù)據(jù)流中讀取數(shù)據(jù)字節(jié),需要拋出一個(gè)IOException,否則編譯將不通過(guò)(checked Exception)如下圖
讀數(shù)據(jù)示例:
? ?
? ?
/*****************************************************************/
? ?
總結(jié):
1.IO系統(tǒng)的主要目標(biāo)是為了對(duì)數(shù)據(jù)進(jìn)行讀寫(xiě)操作;
2.數(shù)據(jù)的流向以Java程序?yàn)閰⒄瘴?/span>
3.IO流可以有三種分類(lèi)方法;
4.read方法和write方法;
轉(zhuǎn)載于:https://www.cnblogs.com/DogEgg/p/6723240.html
總結(jié)
以上是生活随笔為你收集整理的Java当中的IO一的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 一、 promise
- 下一篇: VK Cup 2017 - Round