這篇文章主要講解了“Java流概念是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Java流概念是什么”吧!
創(chuàng)新互聯(lián)為客戶提供專業(yè)的成都網(wǎng)站建設(shè)、成都做網(wǎng)站、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開發(fā). 服務(wù)項(xiàng)目涵蓋了網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站程序開發(fā)、WEB系統(tǒng)開發(fā)、微信二次開發(fā)、手機(jī)網(wǎng)站制作設(shè)計(jì)等網(wǎng)站方面業(yè)務(wù)。
一、Java流定義。
Java中的流是一個(gè)很抽象的概念,當(dāng)程序需要讀取一個(gè)文件時(shí),就會(huì)開啟一個(gè)通向數(shù)據(jù)源(被讀取的文件)的流。流是對(duì)輸入輸出設(shè)備的抽象,Java程序中,對(duì)于數(shù)據(jù)的輸入/輸出操作都是以“流”的方式進(jìn)行。設(shè)備可以是文件,網(wǎng)絡(luò),內(nèi)存等。
二、Java中流的分類
1、字節(jié)流(Byte Stream)
InputStream(抽象類)與OutputStream(抽象類)所有字節(jié)流的頂級(jí)父類,這類流以字節(jié)(Byte)為基本處理單位
2、字符流(Character Stream)
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
常用方法:void print(參數(shù)) 和 void println(參數(shù))
system.out通過調(diào)用println方法輸出參數(shù)并換行,調(diào)用print方法輸出不換行
2、標(biāo)準(zhǔn)的輸入流system.in
向標(biāo)準(zhǔn)的輸入設(shè)備輸入數(shù)據(jù)(一般為鍵盤),其數(shù)據(jù)類型為InputStream
常用方法:int read() 返回ASCII碼,返回值為-1則沒有讀取任何字節(jié),讀取工作結(jié)束
int read(byte b[]) :讀入多個(gè)字節(jié)到緩沖區(qū)b中,返回值是讀入的字節(jié)數(shù)
package cn.itcase.stream;
import java.io.IOException;
public class Demo {
//從鍵盤輸入 輸入什么 打印什么
public static void main(String[] args) {
int b;
try {
System.out.println("please Input");
while((b=System.in.read()) !=-1){
System.out.println((char)b);
}
} catch (IOException e) {
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)行過濾:FilterReader,FilterWriter,FilerInputStream,FilterOutputStream
9、Concatenation
合并輸入并把多個(gè)輸入流連成一個(gè)輸入流:SequenceInputStream
10、Conunting
在讀入數(shù)據(jù)時(shí)對(duì)行記數(shù):LineNumberReader,LineNumberInputStream
11、Peeking Ahead
通過通過緩存機(jī)制進(jìn)行預(yù)讀:PushBackReader,PushBackInputStream
12、Converting between Bytes and Characters
按照一定的編碼/解碼標(biāo)準(zhǔn)將字節(jié)流轉(zhuǎn)換為字符流,或反向轉(zhuǎn)換(Stream到Reader,Writer的轉(zhuǎn)換類):InputStreamReader,OutputStreamWriter
感謝各位的閱讀,以上就是“Java流概念是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Java流概念是什么這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
文章標(biāo)題:Java流概念是什么
分享鏈接:http://chinadenli.net/article6/ihjsog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、App設(shè)計(jì)、軟件開發(fā)、標(biāo)簽優(yōu)化、品牌網(wǎng)站制作、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)