Java流概念是什么

這篇文章主要講解了“Java流概念是什么”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Java流概念是什么”吧!

創(chuàng)新互聯(lián)為客戶提供專業(yè)的成都網(wǎng)站建設(shè)、成都做網(wǎng)站、程序、域名、空間一條龍服務(wù),提供基于WEB的系統(tǒng)開發(fā). 服務(wù)項目涵蓋了網(wǎng)頁設(shè)計、網(wǎng)站程序開發(fā)、WEB系統(tǒng)開發(fā)、微信二次開發(fā)、手機網(wǎng)站制作設(shè)計等網(wǎng)站方面業(yè)務(wù)。

一、Java流定義。

Java中的流是一個很抽象的概念,當(dāng)程序需要讀取一個文件時,就會開啟一個通向數(shù)據(jù)源(被讀取的文件)的流。流是對輸入輸出設(shè)備的抽象,Java程序中,對于數(shù)據(jù)的輸入/輸出操作都是以“流”的方式進行。設(shè)備可以是文件,網(wǎng)絡(luò),內(nèi)存等。

二、Java中流的分類

1、字節(jié)流(Byte Stream)

InputStream(抽象類)與OutputStream(抽象類)所有字節(jié)流的頂級父類,這類流以字節(jié)(Byte)為基本處理單位

2、字符流(Character Stream)

Reader(抽象類)與Writer(抽象類)所有字符流的頂級父類,這類流以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[]) :讀入多個字節(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)錯誤流

System.err 標(biāo)準(zhǔn)錯誤流,其數(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管道

實現(xiàn)管道的輸入和輸出(進程間通信):PipedReader,PipeWriter,PipedInputStream,PipedOutputStream

3、File文件流

對文件進行讀寫操作:FileReader,FileWriter,FileInputStream,FileOutputStream

4、ObjectSerialization

對象輸入,輸出:ObjectInputStream,ObjectOutputStream

5、DataConversion數(shù)據(jù)流

按基本數(shù)據(jù)類型讀,寫(處理的數(shù)據(jù)是Java的基本數(shù)據(jù)類型):DataInputStream,DateOutputStream

6、Printing

包含方便的打印方法:PrintWriter,PrintStream

7、Buffering 緩沖區(qū)

在讀入,寫出時 對數(shù)據(jù)進行緩存,以減少I/O的次數(shù):BufferedReader,BufferedWriter,BufferedIputStream,BuffereOutputStream

8、Filtering 濾流

在數(shù)據(jù)進行讀寫時進行過濾:FilterReader,FilterWriter,FilerInputStream,FilterOutputStream

9、Concatenation

合并輸入并把多個輸入流連成一個輸入流:SequenceInputStream

10、Conunting

在讀入數(shù)據(jù)時對行記數(shù):LineNumberReader,LineNumberInputStream

11、Peeking Ahead

通過通過緩存機制進行預(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í)后,相信大家對Java流概念是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

文章標(biāo)題:Java流概念是什么
分享鏈接:http://muchs.cn/article6/ihjsog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、App設(shè)計、軟件開發(fā)標(biāo)簽優(yōu)化、品牌網(wǎng)站制作、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)