這篇文章主要講解了“Java流概念是什么”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Java流概念是什么”吧!
一、Java流定義。
Java中的流是一個很抽象的概念,當程序需要讀取一個文件時,就會開啟一個通向數(shù)據(jù)源(被讀取的文件)的流。流是對輸入輸出設備的抽象,Java程序中,對于數(shù)據(jù)的輸入/輸出操作都是以“流”的方式進行。設備可以是文件,網(wǎng)絡,內(nèi)存等。
二、Java中流的分類
1、字節(jié)流(Byte Stream)
InputStream(抽象類)與OutputStream(抽象類)所有字節(jié)流的頂級父類,這類流以字節(jié)(Byte)為基本處理單位
2、字符流(Character Stream)
Reader(抽象類)與Writer(抽象類)所有字符流的頂級父類,這類流以16位的Unicode表示的字符基本單位。
三、標準的輸入/輸出流
1、標準的輸出流 system.out
向標準輸出設備輸出數(shù)據(jù),其數(shù)據(jù)類型為PrintStream
常用方法:void print(參數(shù)) 和 void println(參數(shù))
system.out通過調(diào)用println方法輸出參數(shù)并換行,調(diào)用print方法輸出不換行
2、標準的輸入流system.in
向標準的輸入設備輸入數(shù)據(jù)(一般為鍵盤),其數(shù)據(jù)類型為InputStream
常用方法:int read() 返回ASCII碼,返回值為-1則沒有讀取任何字節(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、標準錯誤流
System.err 標準錯誤流,其數(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
通過通過緩存機制進行預讀:PushBackReader,PushBackInputStream
12、Converting between Bytes and Characters
按照一定的編碼/解碼標準將字節(jié)流轉換為字符流,或反向轉換(Stream到Reader,Writer的轉換類):InputStreamReader,OutputStreamWriter
感謝各位的閱讀,以上就是“Java流概念是什么”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對Java流概念是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián)成都網(wǎng)站設計公司,小編將為大家推送更多相關知識點的文章,歡迎關注!
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
網(wǎng)站欄目:Java流概念是什么-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://www.chinadenli.net/article40/gsdeo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設、自適應網(wǎng)站、域名注冊、網(wǎng)站營銷、電子商務、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容