IO流學習 二

2021-06-27 14:38:29 字數 1400 閱讀 5064

io流學習(二)

public classbufferedwriterextends 

writer

將文字寫入字元輸出流,緩衝各個字元,從而提供單個字元、陣列和字串的高效寫入。

可以指定緩衝區的大小,或者接受預設的大小。在大多數情況下,預設值就足夠大了。

該類提供了 newline() 方法,它使用平台自己的行分隔符概念,此概念由系統屬性 line.separator 定義。並非所有平台都使用新行符 ('\n') 來終止各行。因此呼叫此方法來終止每個輸出行要優於直接寫入新行符。

通常 writer 將其輸出立即傳送到底層字元或位元組流。除非要求提示輸出,否則建議用 bufferedwriter 包裝所有其 write() 操作可能開銷很高的 writer(如 filewriters 和 outputstreamwriters)。例如,

printwriter out

= new printwriter(new bufferedwriter(new filewriter("foo.out")));

將緩衝 printwriter 對檔案的輸出。如果沒有緩衝,則每次呼叫 print() 方法會導致將字元轉換為位元組,然後立即寫入到檔案,而這是極其低效的。

public classbufferedreaderextends 

reader

從字元輸入流中讀取文字,緩衝各個字元,從而實現字元、陣列和行的高效讀取。

可以指定緩衝區的大小,或者可使用預設的大小。大多數情況下,預設值就足夠大了。

通常,reader 所作的每個讀取請求都會導致對底層字元或位元組流進行相應的讀取請求。因此,建議用 bufferedreader 包裝所有其 read() 操作可能開銷很高的 reader(如 filereader 和 inputstreamreader)。例如,

bufferedreader in

= new bufferedreader(new filereader("foo.in"));

將緩衝指定檔案的輸入。如果沒有緩衝,則每次呼叫 read() 或 readline() 都會導致從檔案中讀取位元組,並將其轉換為字元後返回,而這是極其低效的。

通過用合適的 bufferedreader 替代每個 datainputstream,可以對將 datainputstream 用於文字輸入的程式進行本地化。

public class bufferediodemo 

} catch (ioexception e) finally

} catch (ioexception e1)

try

} catch (ioexception e) }}

}

IO流的學習

所謂流,是指一組有順序的位元組集合,是對資料傳輸的抽象,而又根據各種傳輸的需求,將流定義為各種類。各種流的一般都含有file檔案的形參。要理解,流是從檔案物件抽象而來的。根據流向的不同,可以分為輸入流和輸出流。根據處理資料的不同,可以分為字元流和位元組流。一般含有stream的是位元組流,含有rea...

IO流學習小結

一 概念 io流是對資料傳輸抽象的總稱,根據資料的特性分為幾種類,方便對資料進行針對性的操作。二 分類 1 根據資料型別 即資料傳輸單位 的區別分為 字元流和位元組流 字元流和位元組流 只要是處理純文字資料,就優先考慮使用字元流 除此之外都使用位元組流 能處理大部分型別的資料 2 根據資料流向的區別...

IO流學習筆記

使用緩衝流時,不需要自定義位元組或字元陣列,緩衝流自帶有緩衝區。緩衝流是包裝流,關閉流時,只需要關閉外層的流,內部的流會自動關閉。通過轉換流可以將位元組流轉換為字元流 標準的輸出流,預設輸出到控制台,但是可以設定標準輸出流的輸出方向 呼叫setout方法 不需要手動呼叫close方法去關閉 資料流可...