日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務,提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

字符流

輸入輸出操作通過字節(jié)流就可以實現(xiàn),為什么需要字符流呢?

這是因為,同其它許多程序設計語言使用ASCII字符集不同JAVA使用Unicode

編碼表示字符

ASCII符集是以一個字節(jié)(8比特)表示一個字符,所以可以認為一個字符就是一個字節(jié)。但Unicode編碼是用兩個字節(jié)(16比特)表示一個字符,這時字節(jié)與字符就不一樣了。

為了實現(xiàn)與其他程序語言及不同平臺之間交互,Java提供16位的數(shù)據(jù)流處理方案。

字符流也分為輸入字符流和輸出字符流,分別對應ReaderWriter

和InputStream類和OutputStream類一樣,Reader和Writer也是抽象類。編程時根據(jù)需要,選擇子類生成對象。

Reader類

文件處理 字符流 與 裝飾模式,JAVA中輸入輸出處理筆記

 

Reader類提供了多個從字符輸入流中讀取字符的方法:

  • public int read() ;

該方法讀取一個字符返回范圍在0和65535之間的int值。如果達到了

輸入流的末尾,則返回‐1

  • public int read(char [] cbuf) ;

該方法與InputStream的read方法類似,不同的是,參數(shù)中的數(shù)組不再是

byte數(shù)組,而是char數(shù)組

• public int read(char [] cbuf, int off, int len) ;

該方法讀取 len 個字符,存儲到字符數(shù)組從 off 開始的位置中。

Reader作為抽象類,有多個非抽象的子類,其中最常用的包括 FileReader、BufferedReader

等等

FileReader類從InputStreamReader類繼承而來。該類按字符讀取流中數(shù)據(jù)。

FileReader類中讀取字符流的方法如下表所示:

文件處理 字符流 與 裝飾模式,JAVA中輸入輸出處理筆記

 

FileReader類并未包含從文件中讀取一行的方法。

而在讀取純文本文件時按行讀取是開發(fā)人員最常用的方法

而BufferedReader類則彌補了這一缺憾,該類包含了下列方法:

  • public String readLine() throws IOException

readLine方法讀取一個文本行。通過下列字符之一即可認為某行已終止:

換行 (‘n’)、回車 (‘r’) 或回車后直接跟著換行。方法返回包含該行內容的字符串,不包含任何行終止符,如果已到達流末尾,則返回 null

BufferedReader類的readLine方法可能是讀取純文本文件時最常用的方法。

如果想從純文本文件中按行讀取內容,很顯然,把BufferedReader與FileReader兩個類結合使用是很直觀的一種想法。

而BufferedReader確實也提供了下列構造方法:

public BufferedReader(Reader in)

該構造方法創(chuàng)建一個使用默認大小輸入緩沖區(qū)的緩沖字符輸入流。

因此,可以通過如下代碼來結合使用上述兩個類:

BufferedReader br = new BufferedReader(new FileReader(“d.txt"));

在Java 輸入輸出處理編程中,上述多個類的結合使用編程方式非常常見。這種方式,使用

了設計模式中的裝飾模式

在上述代碼中,對創(chuàng)建得到的 FileReader 對象使用 BufferedReader對象進行了裝飾和增強,從而可以對已有的 FileReader 對象來調用readLine 這個FileReader 類并沒有定義的方法。

  • 裝飾設計模式的特點是,裝飾類被裝飾類都必須所屬同一個接口或父類

Writer類

Writer類的主要方法包括:

public void write(String str);

public void write(String str, int off, int len);

public void close();

public void flush();

文件處理

  • File類是java.io包中唯一代表磁盤文件的對象,F(xiàn)ile類定義了一些與平臺無關的方法。
  • 通過調用File類的各種方法,能夠實現(xiàn)創(chuàng)建、刪除、重命名文件等操作。
  • 需要注意的是,F(xiàn)ile類不僅僅代表文件,也可以用來表示文件夾。
文件處理 字符流 與 裝飾模式,JAVA中輸入輸出處理筆記

File的構造方法


文件處理 字符流 與 裝飾模式,JAVA中輸入輸出處理筆記

File的方法

分享到:
標簽:JAVA
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定