成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

BufferedInputStream類(lèi)方法,使用BufferedInputStream類(lèi)讀取文本文件內(nèi)容

開(kāi)發(fā) 后端
本文主要學(xué)習(xí)BufferedInputStream類(lèi)方法,使用BufferedInputStream類(lèi)讀取文本文件內(nèi)容、BufferedOutputStream類(lèi)向文件中寫(xiě)入內(nèi)容和它的常用方法,接下來(lái)小編帶大家一起來(lái)學(xué)習(xí)!

[[438687]]

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

前言

本文主要學(xué)習(xí)BufferedInputStream類(lèi)方法,使用BufferedInputStream類(lèi)讀取文本文件內(nèi)容、BufferedOutputStream類(lèi)向文件中寫(xiě)入內(nèi)容和它的常用方法,接下來(lái)小編帶大家一起來(lái)學(xué)習(xí)!

一、BufferedInputStream類(lèi)方法

1.BufferedInputStream是緩沖輸入流,可以減少訪問(wèn)磁盤(pán)的次數(shù),提高文件的讀取性能,它是FilterInputStream類(lèi)的子類(lèi)。

2.BufferedInputStream類(lèi)方法有:

(1)int available()方法:用于返回輸入流中可用的未讀字節(jié)數(shù),而不會(huì)由于下一次為此InputStream的方法的調(diào)用而阻塞。

(2)void close()方法:關(guān)閉此輸入流并釋放與該流關(guān)聯(lián)的所有系統(tǒng)資源。

(3)void mark(int readlimit)方法:輸入流的當(dāng)前位置做個(gè)標(biāo)記,readlimit參數(shù)是輸入流在標(biāo)記位置失效前允許讀取的字節(jié)數(shù)。

(4)boolean markSupported()方法:測(cè)試輸入流是否支持mark和reset方法。

(5)int read()方法:讀取一個(gè)字節(jié)。

(6)int read(byte[] b, int off, int len)方法:讀取多個(gè)字節(jié)到字節(jié)數(shù)組b中,參數(shù)off是數(shù)組偏移量,參數(shù)len是讀取數(shù)據(jù)的長(zhǎng)度。

(7)void reset()方法:重置流的當(dāng)前位置到前面標(biāo)記的位置。

(8)long skip(long n)方法:略過(guò)流中的數(shù)據(jù)。若數(shù)據(jù)不夠時(shí),跳過(guò)僅有的字節(jié),返回跳過(guò)的字節(jié)數(shù)。

二、BufferedInputStream類(lèi)read(byte[] b, int off, int len)方法

1.public int read(byte[] b, int off, int len)方法:讀取多個(gè)字節(jié)到字節(jié)數(shù)組b中,參數(shù)off是數(shù)組偏移量,參數(shù)len是讀取數(shù)據(jù)的長(zhǎng)度。

2.read(byte[] b, int off, int len)方法例子的實(shí)現(xiàn):

(1)在text文件夾下創(chuàng)建一個(gè)test.txt文件并寫(xiě)入"helloworld,java!"內(nèi)容。

(2)建立輸入流BufferedInputStream, 緩沖區(qū)大小為8,讀取字節(jié)流的前5個(gè)字節(jié)的代碼的實(shí)現(xiàn)。

  1. public class P09 { 
  2. public static void main(String[] args) throws Exception { 
  3.         // TODO Auto-generated method stub 
  4.         //創(chuàng)建一個(gè)帶有緩沖區(qū)的輸入流 
  5.         BufferedInputStream in = new BufferedInputStream(new FileInputStream("text/test"), 8); 
  6.         //從字節(jié)流中讀取5個(gè)字節(jié) 
  7.         byte temp[]=new byte[5]; 
  8.         //read(byte[] b, int offint len)方法 
  9.         in.read(temp,0,5); 
  10.         System.out.println("字節(jié)流的前5個(gè)字節(jié)是:"+new String(temp)); 

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

三、BufferedInputStream類(lèi)mark()和reset()方法

1.void mark(int readlimit)方法:輸入流的當(dāng)前位置做個(gè)標(biāo)記,readlimit參數(shù)是輸入流在標(biāo)記位置失效前允許讀取的字節(jié)數(shù)。

2.void reset()方法:重置流的當(dāng)前位置到前面標(biāo)記的位置。

3.例子的實(shí)現(xiàn):

  1. import java.io.*; 
  2.  
  3. public class P09 { 
  4. public static void main(String[] args) throws Exception { 
  5.         // TODO Auto-generated method stub 
  6.         //創(chuàng)建一個(gè)帶有緩沖區(qū)的輸入流 
  7.         BufferedInputStream in = new BufferedInputStream(new FileInputStream("text/test"), 8); 
  8.         //從字節(jié)流中讀取5個(gè)字節(jié) 
  9.         byte temp[]=new byte[5]; 
  10.         //read(byte[] b, int offint len)方法 
  11.         in.read(temp,0,5); 
  12.         System.out.println("字節(jié)流的前5個(gè)字節(jié)是:"+new String(temp)); 
  13.         //標(biāo)記測(cè)試 
  14.         in.mark(6); 
  15.         in.read(temp,0,5); 
  16.         System.out.println("字節(jié)流的第6到10個(gè)字節(jié)是:"+new String(temp)); 
  17.         //reset()方法 
  18.         in.reset(); 
  19.         System.out.printf("reset后讀取的第一個(gè)字節(jié)為:%c"in.read()); 
  20.   } 

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

四、BufferedOutputStream類(lèi)

1.BufferedOutputStream類(lèi)是字節(jié)緩沖輸出流,它是FilterOutputStream類(lèi)的子類(lèi)。

2.BufferedOutputStream類(lèi)常用的方法有以下所示:

(1)void write(int b)方法:一次寫(xiě)一個(gè)字節(jié)。

(2)void write(byte[] b,int off,int len)方法:從指定數(shù)組b中的從偏移量off開(kāi)始len個(gè)字節(jié)寫(xiě)入文件輸出流中。off參數(shù)表示數(shù)組偏移量,len表示要寫(xiě)入的字節(jié)數(shù)。

(3)void flush()方法:刷新此緩沖的輸出流。這迫使所有緩沖的輸出字節(jié)被寫(xiě)出到底層輸出流中。

(4)void close()方法:關(guān)閉此輸入流并釋放與該流關(guān)聯(lián)的所有系統(tǒng)資源。

3.BufferedOutputStream方法的實(shí)現(xiàn)例子:

  1. import java.io.*; 
  2. public class P10 { 
  3. public static void main(String[] args) throws Exception { 
  4.         // TODO Auto-generated method stub 
  5.         //創(chuàng)建一個(gè)帶緩沖流的輸出流 
  6.         BufferedOutputStream bos=new BufferedOutputStream(new FileOutputStream("text/test10")); 
  7.         //在文本文件中寫(xiě)入小寫(xiě)a字母 
  8.         bos.write(97); 
  9.         //在文本文件中寫(xiě)入"Java進(jìn)階學(xué)習(xí)交流" 
  10.         bos.write("\nJava進(jìn)階學(xué)習(xí)交流\n".getBytes()); 
  11.         //創(chuàng)建一個(gè)字節(jié)數(shù)組 
  12.         byte[] bytes = {97,98,99,100,101};  
  13.         //從偏移量2位置開(kāi)始就是c,獲取寫(xiě)入2個(gè)字節(jié)數(shù) 
  14.         bos.write(bytes,2,2); 
  15.         //刷新緩沖流 
  16.         bos.flush(); 
  17.         //關(guān)閉流 
  18.         bos.close();   
  19.   } 

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

五、總結(jié)

本文主要介紹了BufferedInputStream類(lèi)方法、BufferedOutputStream類(lèi)。介紹了BufferedInputStream的read(byte[] b, int off, int len)方法、mark()和reset()方法通過(guò)例子理解這些方法用法,使用BufferedInputStream來(lái)讀取文本的內(nèi)容。BufferedOutputStream類(lèi)是字節(jié)緩沖輸出流,它是FilterOutputStream類(lèi)的子類(lèi)。BufferedOutputStream來(lái)寫(xiě)入文本的內(nèi)容。希望大家通過(guò)本文的學(xué)習(xí),對(duì)你有所幫助!

本文轉(zhuǎn)載自微信公眾號(hào)「Java進(jìn)階學(xué)習(xí)交流」,可以通過(guò)以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系Java進(jìn)階學(xué)習(xí)交流公眾號(hào)。

 

責(zé)任編輯:武曉燕 來(lái)源: Java進(jìn)階學(xué)習(xí)交流
相關(guān)推薦

2021-11-29 09:46:11

FileReaderJava開(kāi)發(fā)

2021-12-09 09:30:38

字節(jié)流文件緩沖區(qū)

2009-09-02 19:08:03

C#實(shí)現(xiàn)讀取文本文件

2015-06-17 14:28:15

Java查詢(xún)處理方法

2010-04-30 17:38:31

Unix文本

2022-11-25 09:16:43

Linux命令

2009-08-12 17:59:48

C#讀取文本文

2009-08-06 18:33:45

C#處理文本文件

2009-09-02 19:13:08

C#處理文本文件

2022-09-29 10:01:05

Go編程語(yǔ)言文本文件

2010-01-08 16:10:05

VB.NET讀寫(xiě)文本文

2010-01-15 10:05:35

VB.NET文件對(duì)象

2009-08-26 11:53:56

C#打印文本文件

2009-09-04 15:56:35

寫(xiě)入文本文件

2021-11-24 08:41:52

BufferedWriJavaBufferedRea

2014-03-11 10:11:33

Linux命令more命令文本文件

2010-02-01 14:26:50

C++讀寫(xiě)文本文件

2009-08-19 17:44:15

C#操作文本文件

2019-02-13 09:20:13

Linux命令行more

2023-05-17 18:45:56

Linux文件
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精产国品一二三产区视频 | 欧美黄色精品 | 国产毛片视频 | 免费观看一级特黄欧美大片 | 亚洲精品视频免费 | 日韩高清中文字幕 | 国产免费一区二区三区最新6 | 亚洲狠狠 | 国产成人免费网站 | 成人国产精品久久 | 青青草一区二区 | 亚洲欧美在线观看视频 | 成人国产精品久久久 | 一区二区三区视频 | 日韩一区二区三区在线观看 | 综合激情久久 | 精品久久久久久久久久 | 亚洲毛片一区二区 | 欧美激情精品久久久久久 | 欧洲一区二区在线 | 在线黄色网 | 毛片在线免费播放 | 一区免费观看 | 亚洲欧美中文日韩在线v日本 | 国产精品a久久久久 | 特黄特色大片免费视频观看 | 久久精品国产一区二区 | 欧美在线观看一区 | 精品久| 国产精品久久久久久52avav | 日韩在线欧美 | 天天看天天操 | 超碰导航| 亚洲美女av网站 | 在线观看成年人视频 | 国产精品三级久久久久久电影 | 天天夜碰日日摸日日澡 | 中文字幕日韩欧美一区二区三区 | 超碰在线国产 | www.午夜 | 国产精品亚洲一区二区三区在线 |