這篇文章將為大家詳細(xì)講解有關(guān)java IO流常用操作之字節(jié)流和字符流的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
七臺河ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
一.主要IO流的分類
通過圖可知java 中主要IO流根據(jù)處理數(shù)據(jù)類型的不同分為字符流和字節(jié)流,根據(jù)數(shù)據(jù)流向不同分為輸入流和輸出流。
二. 使用場景
1.考慮最原始的數(shù)據(jù)格式是什么:
場景一. 原始數(shù)據(jù)是二進(jìn)制或者是純文本,使用方式如下:
(1). 二進(jìn)制格式(只要不能確定是純文本的):InputStream,OutputStream及其子類(字節(jié)流)。
(2). 純文本格式(含純英文與漢字或其他編碼方式):Reader,Writer及其子類(字符流)。
場景二:IO數(shù)據(jù)流通道:
(1). 輸入:Reader,InputStream類型的子類。
(2). 輸出:Writer,OutputStream類型的子類。
場景三:IO流轉(zhuǎn)換:
(1). 字節(jié)到字符:InputStreamReader
(2). 字符到字節(jié):OutputStreamWriter
場景四:數(shù)據(jù)來源流向:
(1). 文件:FileInputStream,FileOutputStream ; FileReader,FileWriter
(2). byte[]: ByteArrayInputStream, ByteArrayOutputStream
(3).Char[]:CharArrayReader,CharArrayWriter
(4).String:StringBufferInputStream,StringBufferOutputStream;StringReader,StringWriter
(5).網(wǎng)絡(luò)數(shù)據(jù)流:InputStream,OutputStream;Reader,Writer
場景五:緩沖:(要注意readLine()是否有定義,有什么比read(),writer()更特殊的輸入或輸出方法)
要緩沖:BufferedInputStream, BufferedOutputStream; BufferedReader, BufferedWriter
場景六:格式化輸出:
格式化輸出:PrintStream, PrintWriter
三.主要字節(jié)流常用方法
(1).InputStream字節(jié)流
// 從輸入流中讀取數(shù)據(jù)的下一個字節(jié) abstract int read() // 從輸入流中讀取一定數(shù)量的字節(jié),并將其存儲在緩沖區(qū)數(shù)組 b中 int read(byte[] b) // 將輸入流中最多 len 個數(shù)據(jù)字節(jié)讀入 byte 數(shù)組 int read(byte[] b, int off, int len) // 跳過和丟棄此輸入流中數(shù)據(jù)的 n個字節(jié) long skip(long n) // 關(guān)閉此輸入流并釋放與該流關(guān)聯(lián)的所有系統(tǒng)資源 void close()
(2).OutputStream字節(jié)流
// 將 b.length 個字節(jié)從指定的 byte 數(shù)組寫入此輸出流 void write(byte[] b) // 將指定 byte 數(shù)組中從偏移量 off 開始的 len 個字節(jié)寫入此輸出流 void write(byte[] b, int off, int len) // 將指定的字節(jié)寫入此輸出流 abstract void write(int b) // 關(guān)閉此輸出流并釋放與此流有關(guān)的所有系統(tǒng)資源 void close() // 刷新此輸出流并強(qiáng)制寫出所有緩沖的輸出字節(jié) void flush()
四.主要字符流常用方法
(1). Reader
// 讀取單個字符 int read() // 將字符讀入數(shù)組 int read(char[] cbuf) // 將字符讀入數(shù)組的某一部分 abstract int read(char[] cbuf, int off, int len) // 跳過字符 long skip(long n) // 關(guān)閉該流并釋放與之關(guān)聯(lián)的所有資源 abstract void close()
(2). Writer
// 寫入字符數(shù)組 void write(char[] cbuf) // 寫入字符數(shù)組的某一部分 abstract void write(char[] cbuf, int off, int len) // 寫入單個字符 void write(int c) // 寫入字符串 void write(String str) // 寫入字符串的某一部分 void write(String str, int off, int len) // 將指定字符添加到此 writer Writer append(char c) // 將指定字符序列添加到此 writer Writer append(CharSequence csq) // 將指定字符序列的子序列添加到此 writer.Appendable Writer append(CharSequence csq, int start, int end) // 關(guān)閉此流,但要先刷新它 abstract void close() // 刷新該流的緩沖 abstract void flush()
關(guān)于“java IO流常用操作之字節(jié)流和字符流的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
新聞標(biāo)題:javaIO流常用操作之字節(jié)流和字符流的示例分析
標(biāo)題路徑:http://jinyejixie.com/article30/iishso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、面包屑導(dǎo)航、App設(shè)計、外貿(mào)建站、電子商務(wù)、用戶體驗(yàn)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)