怎么在JAVA中實(shí)現(xiàn)內(nèi)存流-創(chuàng)新互聯(lián)

怎么在JAVA中實(shí)現(xiàn)內(nèi)存流?很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),資源企業(yè)網(wǎng)站建設(shè),資源品牌網(wǎng)站建設(shè),網(wǎng)站定制,資源網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,資源網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

掌握內(nèi)存操作流

輸入和輸出都是從文件中來的,當(dāng)然,也可將輸出的位置設(shè)置在內(nèi)存上,這就需要ByteArrayInputStream和ByteArrayOutputStream

ByteArrayInputStream:將內(nèi)容寫入到內(nèi)存中,

ByteArrayOutputStream:將內(nèi)存中數(shù)據(jù)輸出

此時(shí)的操作應(yīng)該以內(nèi)存為操作點(diǎn)。

怎么在JAVA中實(shí)現(xiàn)內(nèi)存流

利用此類 完成一些功能。

常用方法

怎么在JAVA中實(shí)現(xiàn)內(nèi)存流

ByteArrayInputStream :是InputStream子類。

public class ByteArrayInputStream extends InputStream

構(gòu)造方法:

ByteArrayInputStream(byte[] buf) 
     //創(chuàng)建一個(gè) ByteArrayInputStream,使用 buf 作為其緩沖區(qū)數(shù)組。

接收一個(gè)byte數(shù)組,實(shí)際上內(nèi)存的輸入就是在構(gòu)造方法上將數(shù)據(jù)傳遞到內(nèi)存之中。

ByteArrayOutputStream:是OutputStream子類

輸出就是從內(nèi)存中寫出數(shù)據(jù)。

public class ByteArrayOutputStream extends OutputStream

構(gòu)造方法:

ByteArrayOutputStream() 
     創(chuàng)建一個(gè)新的 byte 數(shù)組輸出流。

主要方法:

void write(int b) 
     將指定的字節(jié)寫入此 byte 數(shù)組輸出流。

利用他們,完成一個(gè)大小寫字母轉(zhuǎn)換順序的程序。

重溫一下這個(gè)方法:getBytes();定義如下:返回的是一個(gè)byte類型的數(shù)組?!?/p>

  public byte[] getBytes() {
    return StringCoding.encode(value, 0, value.length);
  }

1,

int size() 
     返回緩沖區(qū)的當(dāng)前大小

2,

byte[] toByteArray() 
     創(chuàng)建一個(gè)新分配的 byte 數(shù)組。

3,

String toString() 
     使用平臺默認(rèn)的字符集,通過解碼字節(jié)將緩沖區(qū)內(nèi)容轉(zhuǎn)換為字符串。

利用他們,完成一個(gè)大小寫字母轉(zhuǎn)換順序的程序。

String類的大小寫轉(zhuǎn)換方法:

 String toLowerCase() 
     使用默認(rèn)語言環(huán)境的規(guī)則將此 String 中的所有字符都轉(zhuǎn)換為小寫。

轉(zhuǎn)大寫:

String toUpperCase() 
     使用默認(rèn)語言環(huán)境的規(guī)則將此 String 中的所有字符都轉(zhuǎn)換為大寫。

如果要想把一個(gè)大寫邊小寫,則可以通過包裝類,字符的包裝類是Character。

static char toLowerCase(char ch) 
     使用取自 UnicodeData 文件的大小寫映射信息將字符參數(shù)轉(zhuǎn)換為小寫。

代碼實(shí)例:

注意,跟文件讀取不一樣,不要設(shè)置文件路徑。

package 類集;
import java.io.* ;
public class ByteArrayDemo01{
  public static void main(String args[]){
    String str = "HELLOWORLD" ;    // 定義一個(gè)字符串,全部由大寫字母組成
    ByteArrayInputStream bis = null ;  // 內(nèi)存輸入流
    ByteArrayOutputStream bos = null ;  // 內(nèi)存輸出流
    bis = new ByteArrayInputStream(str.getBytes()) ;  // 向內(nèi)存中輸出內(nèi)容,注意,沒有跟文件讀取一樣,設(shè)置文件路徑。
    bos = new ByteArrayOutputStream() ;  // 準(zhǔn)備從內(nèi)存ByteArrayInputStream中讀取內(nèi)容,注意,跟文件讀取不一樣,不要設(shè)置文件路徑。
     int temp = 0 ;      while((temp=bis.read())!=-1)     {       char c = (char) temp ; // 讀取的數(shù)字變?yōu)樽址?nbsp;       bos.write(Character.toLowerCase(c)) ; // 將字符變?yōu)樾?nbsp;     } // 所有的數(shù)據(jù)就全部都在ByteArrayOutputStream中      String newStr = bos.toString() ; // 因?yàn)樗衞utput的數(shù)據(jù)都在ByteArrayOutputStream實(shí)例對象中,所以可以取出內(nèi)容,將緩沖區(qū)內(nèi)容轉(zhuǎn)換為字符串。
     try{         bis.close() ;         bos.close() ;      }catch(IOException e){         e.printStackTrace() ;     } System.out.println(newStr) ;    } };

實(shí)際上以上操作很好體現(xiàn)了對象的多態(tài)。通過實(shí)例化其子類不同,完成的功能也不同,也就相當(dāng)于輸出的位置不同,

如果是輸出文件,則使用FileXxxx類。如果是內(nèi)存,則使用ByteArrayXxx。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)建站的支持。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站muchs.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、建站服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

文章標(biāo)題:怎么在JAVA中實(shí)現(xiàn)內(nèi)存流-創(chuàng)新互聯(lián)
路徑分享:http://muchs.cn/article28/dcjocp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站定制網(wǎng)站、服務(wù)器托管、網(wǎng)站排名、企業(yè)建站、網(wǎng)站改版

廣告

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

成都app開發(fā)公司