字元流 概述以及基本使用字元流 :資料流格式的一種,能有效避免字元流引起的中文亂碼的問題
通常使用的類 filewriter(字元輸出流) filereader(字元輸入流)
這2個類都有各自的構造方法,大致相同
比如filewriter 常用的構造方法
利用字元流複製檔案
1、建立兩個物件,乙個是輸入,乙個輸出,在構造方法中繫結寫入資料的目的地
2、利用輸入的read方法讀取,輸出的write方法(字元轉換為位元組的過程)寫入
3、若不關閉流檔案,要flush方法才能把記憶體快取區的內容重新整理到檔案中
3、釋放資源(會先重新整理,再關閉檔案)
**:
//1、建立兩個物件,乙個是輸入,乙個輸出
filereader fread =
newfilereader
("c:\\abc.txt");
filewriter fwri =
newfilewriter
("c:\\aaa.txt");
int len;
//讀取的有效個數
char
cc =
newchar
[1024];
//讀取的快取陣列
//2、利用輸入的read方法讀取,輸出的write方法寫入
while
((len = fread.
read
(cc)!=-
1))//3、釋放資源
fwri.
close()
;fread.
close()
;
flush 和 close方法的區別flush方法 :把buff重新整理到寫入資料的檔案中,流檔案還能繼續使用。
close方法:先重新整理bufff寫入,再通知系統釋放資源,關閉流檔案。
filewriter fw =
newfilewriter
("c:\\aaa.txt");
fw.writer(97
);//寫入乙個位元組 97的編碼
fw.flush()
;//從buff中重新整理到檔案中,此時能在檔案中檢視到 97編碼的數值
fw.writer(56
);//流物件還存在,再寫入乙個位元組,存放在buff區中
fw.close()
;//流物件關閉,第二次寫入的56編碼 此時能在檔案中檢視
fw.writer(98
);//報錯,提示檔案流已關閉
字元流寫入資料的四種方法write(char cbuf)
write(char cbuf, int off, int len)
write(string str) 可以通過字串寫入
write(string str, int off, int len) 可以指定字串的範圍
續寫 和 換行續寫和換行都跟位元組流的差不多
換行 根據系統系統的不同
windows :\r\n
mac:\r
linux:\n
使用try catch 語句處理異常trycatch(//宣告撲捉異常的型別)finally
//在此處宣告 字元流物件 並且要初始化為 null
try}
catch(ioexception e)
finally
jdk7針對異常的優化// try語句中增加了小括號的初始化,起到提公升變數作用,而且還能自動釋放流物件
// 不用手動close,釋放資源 節省了 finally語句,使得**簡潔明瞭
try**()**catch(//宣告撲捉異常的型別)finally
//jdk 7 優化之後的**
try(filereader fread =
newfilereader
("c:\\abc.txt");
//如果在此處宣告變數,那finally的變數將會報錯 ,所有必須提公升變數的作用域
filewriter fwri =
newfilewriter
("c:\\aaa.txt");
)}catch(ioexception e)
字元流初步使用
inputstream的作用是標誌那些從不同資料起源產生輸入的類。這些資料起源包括 每個都有乙個相關的inputstream子類 1 位元組陣列 2 string物件 3 檔案 4 管道 它的工作原理與現實生活中的管道類似 將一些東西一端置入,它們在另一端輸出。5 乙個由其他種類的流組成的序列,以便...
IO流3 IO流 節點流 字元流的使用
read 將hello.txt檔案內容讀入程式中,並輸出到控制台 test public void testfilereader catch ioexception e finally catch ioexception e 說明點 read 的理解 返回讀入的乙個字元。如果達到檔案末尾,返回 1 ...
Java I O 字元流的使用詳解
簡介 字元流的資料儲存單位是char,常用於文字的處理。其中可分為普通字元流和緩衝字元流。一 普通字元流 構造物件 使用時需要處理異常 輸入流 filereader fr new filereader string filepath read 讀 丨 close 關閉 輸出流 filewriter ...