国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - 字節(jié)緩沖流使用 BufferedInputStream 和 BufferedOutputStream這兩個流的用法

字節(jié)緩沖流使用 BufferedInputStream 和 BufferedOutputStream這兩個流的用法

2021-12-02 22:49Java進(jìn)階學(xué)習(xí)交流Java進(jìn)階者 Java教程

本文主要學(xué)習(xí)字節(jié)緩沖流使用BufferedInputStream和BufferedOutputStream這兩個流的用法來實現(xiàn)文本拷貝、字符流、Reader類、Writer類這些的用法。接下來小編帶大家一起來學(xué)習(xí)這些用法!

字節(jié)緩沖流使用 BufferedInputStream 和 BufferedOutputStream這兩個流的用法

大家好,我是Java進(jìn)階者。

前言

本文主要學(xué)習(xí)字節(jié)緩沖流使用BufferedInputStream和BufferedOutputStream這兩個流的用法來實現(xiàn)文本拷貝、字符流、Reader類、Writer類這些的用法。接下來小編帶大家一起來學(xué)習(xí)這些用法!

一、字節(jié)緩沖流

1.在前面我們學(xué)習(xí)了BufferedInputStream和BufferedOutputStream類,這兩個類分別是FilterInputStream類和FilterOutputStream類的子類。它們的構(gòu)造方法分別接受InputStream和OutStream類型的參數(shù),在讀寫數(shù)據(jù)有一個緩沖的功能。

2.使用緩沖流來完成讀寫數(shù)據(jù),接下來通過一個案例使用BufferedInputStream和BufferedOutputStream這兩個流的用法來實現(xiàn)文本拷貝。實現(xiàn)例子如下所示:

(1)首先在text文件夾目錄下創(chuàng)建一個test11.txt并寫入"Hello,world~~~test!"內(nèi)容。

(2)實現(xiàn)文件的拷貝代碼如下所示:

  1. import java.io.*;
  2. public class P11 {
  3. public static void main(String[] args) throws Exception {
  4. // TODO Auto-generated method stub
  5. //創(chuàng)建有緩沖區(qū)的輸入流和輸出流
  6. BufferedInputStream in = new BufferedInputStream(new FileInputStream("text/test11"));
  7. BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream("text/test12"));
  8. int num;
  9. //判斷是否讀到文件的末尾
  10. while((num=in.read())!=-1){
  11. bos.write(num);
  12. }
  13. //關(guān)閉流
  14. in.close();
  15. bos.close();
  16. }
  17. }

運(yùn)行的結(jié)果如下所示:

字節(jié)緩沖流使用 BufferedInputStream 和 BufferedOutputStream這兩個流的用法

在上面的代碼中,創(chuàng)建了BufferedInputStream和BufferedOutputStream兩個緩沖流對象,在這兩個流中內(nèi)部定義一個字節(jié)數(shù)組,當(dāng)調(diào)用read()方法或write()方法讀寫數(shù)據(jù),先將讀寫的數(shù)據(jù)存到字節(jié)數(shù)組,在把字節(jié)數(shù)組的數(shù)據(jù)一次性讀寫到文件中。

二、字符流

1.我們前面學(xué)過InputStream和OutputStream的輸入輸出操作都是基于字節(jié)的,字節(jié)流不能操作Unicode字符,我們知道漢字在文件是占2個字節(jié),若使用字節(jié)流讀取不當(dāng)會出現(xiàn)亂碼現(xiàn)象例如顯示一個正方形的框。使用字符流可以避免出現(xiàn)亂碼現(xiàn)象。

2.字符流有兩個抽象超類分別是Reader和Writer,Reader是字符輸入流,使用從某個源設(shè)備讀取字符,Writer是字符輸出流,用于向某個目標(biāo)設(shè)備寫入字符。

三、Reader類

1.java.io.Reader是字符輸入流的最頂層的父類,這個類定義了以字符為單位讀取數(shù)據(jù)的基本方法,并在子類進(jìn)行分化和實現(xiàn)。

2.Reader類方法有如下所示:

(1)public int read() throws IOException:讀取一個字符。在讀取流,如果沒有數(shù)據(jù)就會出現(xiàn)調(diào)用受阻的現(xiàn)象,程序會一直等待到有數(shù)據(jù)讀出為止。

(2)public int read(char cbuf[]) throws IOException:讀取多個字符到字符數(shù)組cbuf。

(3)public int read(char cbuf[],int off,int len) throws IOException:從off開始的位置中讀取len個字符存放到字符數(shù)組。off參數(shù)表示數(shù)組偏移量,len參數(shù)表示讀取數(shù)據(jù)的長度。

(4)public void mark(int readAheadLimit) throws IOException:在輸入流中設(shè)置標(biāo)記。

(5)public boolean markSupporter() throws IOException:測試輸入流是否支持mark()方法

(6)public void reset() throws IOException:重置流的當(dāng)前位置到前面標(biāo)記的位置。

(7)public void close() throws IOException:表示關(guān)閉流。

(8)public long skip(long n) throws IOException:略過流中的數(shù)據(jù)。若數(shù)據(jù)不夠,跳過僅有的字節(jié),返回跳過的字節(jié)數(shù)。

(9)public boolean ready():返回輸入流是否做好讀的準(zhǔn)備。

3.Reader類實例代碼如下所示:

(1)在text文件夾目錄下創(chuàng)建一個test13.txt文件并寫入"Hello,World!Java進(jìn)階學(xué)習(xí)交流!"。

(2)代碼實現(xiàn)的例子:

  1. public class P12 {
  2. public static void main(String[] args) throws Exception {
  3. // TODO Auto-generated method stub
  4. //聲明File對象
  5. File f=new File("text/test13");
  6. Reader in=new FileReader(f);
  7. //所有的數(shù)據(jù)讀到數(shù)組c中
  8. char c[]=new char[1024];
  9. //讀取內(nèi)容
  10. int len=in.read(c);
  11. //關(guān)閉流
  12. in.close();
  13. System.out.println("內(nèi)容為:"+new String(c,0,len));
  14. }
  15. }

運(yùn)行的結(jié)果如下所示:

字節(jié)緩沖流使用 BufferedInputStream 和 BufferedOutputStream這兩個流的用法

四、Writer類

1.Writer類是一個寫入字符流的抽象類。

2.Writer方法有如下所示:

(1)public void close() throws IOException方法:表示關(guān)閉流。

(2)public voir write(int c) throws IOException方法:表示寫入單個字符。

(3)public abstract void read(char cbuf[],int off,int len) throws IOException方法:向流中寫入一個數(shù)組,參數(shù)off指定數(shù)組的偏移量,len指定讀取數(shù)據(jù)的長度。

(4)public void write(String str) throws IOException方法:寫入一個字符串。

五、總結(jié)

本文主要介紹了字節(jié)緩沖流、字符流、Reader類、Writer類。字節(jié)緩沖流是使用BufferedInputStream和BufferedOutputStream這兩個流的用法來實現(xiàn)文本拷貝。字符流有兩個抽象超類分別是Reader和Writer,Reader是字符輸入流,使用從某個源設(shè)備讀取字符,Writer是字符輸出流,用于向某個目標(biāo)設(shè)備寫入字符。介紹了Reader類的方法,通過Reader類實例來實現(xiàn)讀取文本文件內(nèi)容,Writer類是一個寫入字符流的抽象類。希望大家通過本文的學(xué)習(xí),對你有所幫助!

我是Java進(jìn)階者,希望大家通過本文的學(xué)習(xí),對你有所幫助!歡迎大家加我微信,有問題可以隨時幫大家解決噢,交個朋友也好哇~

原文鏈接:https://mp.weixin.qq.com/s/O4KJ9jS1AqVnVSVTWLM7vQ

延伸 · 閱讀

精彩推薦
  • Java教程Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決

    Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發(fā)現(xiàn)了對于集合操作轉(zhuǎn)換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點(diǎn),所以這篇文章主要給大家介紹了關(guān)于Java8中S...

    阿杜7482021-02-04
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發(fā)項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java實現(xiàn)搶紅包功能

    Java實現(xiàn)搶紅包功能

    這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程xml與Java對象的轉(zhuǎn)換詳解

    xml與Java對象的轉(zhuǎn)換詳解

    這篇文章主要介紹了xml與Java對象的轉(zhuǎn)換詳解的相關(guān)資料,需要的朋友可以參考下...

    Java教程網(wǎng)2942020-09-17
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經(jīng)有好久沒有升過級了。升級完畢重啟之后,突然發(fā)現(xiàn)好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關(guān)于小米推送Java代碼,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩(wěn)中求8032021-07-12
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 成人免费乱码大片a毛片软件 | 国产精品一区二区在线观看 | 亚洲视频综合网 | 国产精品高潮呻吟久久 | 成人免费毛片在线观看 | 欧美日韩在线视频观看 | 99re| 看国产到性色 | 国产成人精品久久二区二区91 | 精品国精品国产自在久不卡 | 成人不卡视频 | a网站在线观看 | 激情视频日本 | 亚洲激情精品 | 中文字幕精品一区久久久久 | 先锋av资源 | 亚洲综合二区 | 91成人精品 | 在线毛片观看 | 日本一区二区免费视频 | 欧美日韩国产一区二区三区不卡 | 日本电影中文字幕 | 久久久久国产一区二区三区四区 | 日本电影一区 | www.av在线 | 欧美日韩成人 | 久久久看片 | 国产精品自拍视频网站 | 欧美中文字幕一区二区 | 亚洲视频欧美视频 | 国产午夜一区二区三区 | 中文字幕一区二区在线观看 | 国产免费视频在线 | av大片在线观看 | 欧美一区二区三区在线 | 免费视频黄| 日韩精品91爱爱 | 成人免费xxxxx在线视频软件 | 国产精选一区二区三区不卡催乳 | 黄色精品| a视频网站 |