編程基礎(chǔ)入門之Java字符輸出流

編程基礎(chǔ)入門之Java字符輸出流

深圳達內(nèi)教育      2022-03-09 11:20:01     7

編程基礎(chǔ)入門之Java字符輸出流,一、字符輸出流java.io.Writer抽象類是表示用于寫出字符流的所有類的超類,將指定的字符信息寫出到目的地。它定義了字節(jié)輸出流的

課程價格 請咨詢

上課時段: 授課校區(qū):

詳細介紹

一、字符輸出流

java.io.Writer抽象類是表示用于寫出字符流的所有類的超類,將指定的字符信息寫出到目的地。

它定義了字節(jié)輸出流的基本共性功能方法。

void write(int c)寫入單個字符。寫入0到65535之間的Unicode碼。

void write(char[]cbuf)把整個字符數(shù)組的內(nèi)容寫進去。

abstract void write(char[]cbuf,int off,int len)寫入字符數(shù)組的某一部分,off數(shù)組的開始索引,len寫的字符個數(shù)。

void write(String str)寫入字符串。

void write(String str,int off,int len)寫入字符串的某一部分,off字符串的開始索引,len寫的字符個數(shù)。

void flush()刷新該流的緩沖,則立即將它們寫入預(yù)期目標。

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

Writer抽象類下面的子類結(jié)構(gòu):

圖中深色的為節(jié)點流,淺色的為處理流。

二、FileWriter類

java.io.FileWriter類是寫出字符到文件的便利類。構(gòu)造時使用系統(tǒng)默認的字符編碼和默認字節(jié)緩沖區(qū)。

作用:把內(nèi)存中字符數(shù)據(jù)寫入到文件中。

1、構(gòu)造方法

FileWriter(File file):創(chuàng)建一個新的FileWriter,給定要讀取的File對象。

FileWriter(String fileName):創(chuàng)建一個新的FileWriter,給定要讀取的文件的名稱。

參數(shù):寫入數(shù)據(jù)的目的地。

File file:文件對象

String fileName:文件的路徑。

構(gòu)造方法作用:

①會創(chuàng)建一個FileWriter對象

②會根據(jù)構(gòu)造方法中傳遞的文件/文件的路徑,創(chuàng)建對象

③會把FileWriter對象指向創(chuàng)建好的文件。

字符輸出流的使用步驟【重要】:

①創(chuàng)建FileWriter對象,構(gòu)造方法中綁定要寫入數(shù)據(jù)的目的地

②使用FileWriter中的方法write,把數(shù)據(jù)寫入到內(nèi)存緩沖區(qū)中(字符轉(zhuǎn)換為字節(jié)的過程)

③使用FileWriter中的方法flush,把內(nèi)存緩沖區(qū)中的數(shù)據(jù),刷新到文件中

④釋放資源(會先把內(nèi)存緩沖區(qū)中的數(shù)據(jù)刷新到文件中)

2、基本寫入數(shù)據(jù)

(1)寫出字符:write(int b)方法,每次可以寫出一個字符數(shù)據(jù),代碼使用演示:

public?static?void?main(String[]?args)?throws?IOException?{????????//1.創(chuàng)建FileWriter對象,構(gòu)造方法中綁定要寫入數(shù)據(jù)的目的地????????FileWriter?fw?=?new?FileWriter("E:d.txt");????????//2.使用FileWriter中的方法write,把數(shù)據(jù)寫入到內(nèi)存緩沖區(qū)中(字符轉(zhuǎn)換為字節(jié)的過程)????????//void?write(int?c)?寫入單個字符。????????fw.write(97);????????//3.使用FileWriter中的方法flush,把內(nèi)存緩沖區(qū)中的數(shù)據(jù),刷新到文件中????????fw.flush();????????//4.釋放資源(會先把內(nèi)存緩沖區(qū)中的數(shù)據(jù)刷新到文件中)????????fw.close();????}

注意:如果未調(diào)用close方法,數(shù)據(jù)只是保存到了緩沖區(qū),并未寫出到文件中。

(2)關(guān)閉與刷新

區(qū)別:

flush:刷新緩沖區(qū),流對象可以繼續(xù)使用。

close:先刷新緩沖區(qū),然后通知系統(tǒng)釋放資源。流對象不可以再被使用了。

public?static?void?main(String[]?args)?throws?IOException?{????????//1.創(chuàng)建FileWriter對象,構(gòu)造方法中綁定要寫入數(shù)據(jù)的目的地????????FileWriter?fw?=?new?FileWriter("E:e.txt");????????//2.使用FileWriter中的方法write,把數(shù)據(jù)寫入到內(nèi)存緩沖區(qū)中(字符轉(zhuǎn)換為字節(jié)的過程)????????//void?write(int?c)?寫入單個字符。????????fw.write(97);????????//3.使用FileWriter中的方法flush,把內(nèi)存緩沖區(qū)中的數(shù)據(jù),刷新到文件中????????fw.flush();????????//刷新之后流可以繼續(xù)使用????????fw.write(98);????????//4.釋放資源(會先把內(nèi)存緩沖區(qū)中的數(shù)據(jù)刷新到文件中)????????fw.close();????????//close方法之后流已經(jīng)關(guān)閉了,已經(jīng)從內(nèi)存中消失了,流就不能再使用了????????fw.write(99);//IOException:?Stream?closed????}

注意:即便是flush方法寫出了數(shù)據(jù),操作的最后還是要調(diào)用close方法,釋放系統(tǒng)資源。

以上就是深圳達內(nèi)教育java培訓機構(gòu)的小編針對“編程基礎(chǔ)入門之Java字符輸出流”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。

培訓啦提醒您:交易時請核實對方資質(zhì),對于過大宣傳或承諾需謹慎!任何要求預(yù)付定金、匯款等方式均存在風險,謹防上當。