今天我們來(lái)梳理一下Java視頻入門基礎(chǔ)學(xué)習(xí)之流概念。本文將從流的定義、分類、標(biāo)準(zhǔn)的輸入/輸出流以及I/O流按類型分類四部分來(lái)介紹,讓大家全面系統(tǒng)的了解流概念。感興趣的同學(xué)就趕緊看下去吧!
一、Java流定義。
Java中的流是一個(gè)很抽象的概念,當(dāng)程序需要讀取一個(gè)文件時(shí),就會(huì)開(kāi)啟一個(gè)通向數(shù)據(jù)源(被讀取的文件)的流。流是對(duì)輸入輸出設(shè)備的抽象,Java程序中,對(duì)于數(shù)據(jù)的輸入/輸出操作都是以“流”的方式進(jìn)行。設(shè)備可以是文件,網(wǎng)絡(luò),內(nèi)存等。
二、Java中流的分類
1、字節(jié)流(ByteStream)
InputStream(抽象類)與OutputStream(抽象類)所有字節(jié)流的頂級(jí)父類,這類流以字節(jié)(Byte)為基本處理單位
2、字符流(CharacterStream)
Reader(抽象類)與Writer(抽象類)所有字符流的頂級(jí)父類,這類流以16位的Unicode表示的字符基本單位。
三、標(biāo)準(zhǔn)的輸入/輸出流
1、標(biāo)準(zhǔn)的輸出流system.out
向標(biāo)準(zhǔn)輸出設(shè)備輸出數(shù)據(jù),其數(shù)據(jù)類型為PrintStream
常用方法:voidprint(參數(shù))和voidprintln(參數(shù))
system.out通過(guò)調(diào)用println方法輸出參數(shù)并換行,調(diào)用print方法輸出不換行
2、標(biāo)準(zhǔn)的輸入流system.in
向標(biāo)準(zhǔn)的輸入設(shè)備輸入數(shù)據(jù)(一般為鍵盤),其數(shù)據(jù)類型為InputStream
常用方法:intread()返回ASCII碼,返回值為-1則沒(méi)有讀取任何字節(jié),讀取工作結(jié)束
intread(byteb[]):讀入多個(gè)字節(jié)到緩沖區(qū)b中,返回值是讀入的字節(jié)數(shù)
packagecn.itcase.stream;
importjava.io.IOException;
publicclassDemo{
//從鍵盤輸入輸入什么打印什么
publicstaticvoidmain(String[]args){
intb;
try{
System.out.println("pleaseInput");
while((b=System.in.read())!=-1){
System.out.println((char)b);
}
}catch(IOExceptione){
System.out.println(e.toString());
}
}
}
3、標(biāo)準(zhǔn)錯(cuò)誤流
System.err標(biāo)準(zhǔn)錯(cuò)誤流,其數(shù)據(jù)類型為PrintStream。
四、I/O流按類型分類
1、Memory
從/向內(nèi)存數(shù)組讀寫數(shù)據(jù):CharArrayReader,CharArrayWriter,ByteArrayInputStream,ByteArrayOutputStream
從/向內(nèi)存字符串讀寫數(shù)據(jù):StringReader,StringWriter,StringBufferInputStream,StringBufferOutStream
2、Pipe管道
實(shí)現(xiàn)管道的輸入和輸出(進(jìn)程間通信):PipedReader,PipeWriter,PipedInputStream,PipedOutputStream
3、File文件流
對(duì)文件進(jìn)行讀寫操作:FileReader,FileWriter,FileInputStream,FileOutputStream
4、ObjectSerialization
對(duì)象輸入,輸出:ObjectInputStream,ObjectOutputStream
5、DataConversion數(shù)據(jù)流
按基本數(shù)據(jù)類型讀,寫(處理的數(shù)據(jù)是Java的基本數(shù)據(jù)類型):DataInputStream,DateOutputStream
6、Printing
包含方便的打印方法:PrintWriter,PrintStream
7、Buffering緩沖區(qū)
在讀入,寫出時(shí)對(duì)數(shù)據(jù)進(jìn)行緩存,以減少I/O的次數(shù):BufferedReader,BufferedWriter,BufferedIputStream,BuffereOutputStream
8、Filtering濾流
在數(shù)據(jù)進(jìn)行讀寫時(shí)進(jìn)行過(guò)濾:FilterReader,FilterWriter,FilerInputStream,FilterOutputStream
9、Concatenation
合并輸入并把多個(gè)輸入流連成一個(gè)輸入流:SequenceInputStream
10、Conunting
在讀入數(shù)據(jù)時(shí)對(duì)行記數(shù):LineNumberReader,LineNumberInputStream
11、PeekingAhead
通過(guò)通過(guò)緩存機(jī)制進(jìn)行預(yù)讀:PushBackReader,PushBackInputStream
12、ConvertingbetweenBytesandCharacters
按照一定的編碼/解碼標(biāo)準(zhǔn)將字節(jié)流轉(zhuǎn)換為字符流,或反向轉(zhuǎn)換(Stream到Reader,Writer的轉(zhuǎn)換類):InputStreamReader,OutputStreamWriter
以上就是天津卓眾教育java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java視頻入門基礎(chǔ)學(xué)習(xí)之流概念”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
Java零基礎(chǔ)學(xué)習(xí)視頻
2020Java零基礎(chǔ)教程:http://www.bjpowernode.com/javavideo/110.html
Java入門教程 Java基礎(chǔ)學(xué)習(xí)