JAVA中的FileWriter流解析
一、FileWriter流
API說明:用于編寫字符文件的便捷類, 此類的構(gòu)造函數(shù)假定默認字符編碼和默認字節(jié)緩沖區(qū)大小是可接受的,要自己指定這些值,請在FileOutputStream上構(gòu)造OutputStreamWriter。 文件是否可用或是否可以創(chuàng)建取決于底層平臺。 特別是某些平臺允許一次只打開一個FileWriter(或其他文件寫入對象)來寫文件。 在這種情況下,如果涉及的文件已經(jīng)打開,則此類中的構(gòu)造函數(shù)將失敗。 FileWriter用于編寫字符流。 要編寫原始字節(jié)流,請考慮使用FileOutputStream
1)編寫字符文件的便捷類怎么理解?
專用于輸出字符數(shù)據(jù)到文件的便捷類,如輸出多個中文等用此類
2)此類的構(gòu)造函數(shù)假定默認字符編碼和默認字節(jié)緩沖區(qū)大小是可接受的怎么理解?
此類構(gòu)造函數(shù)中有設(shè)置默認字符編碼以及該類有一個常量代表字節(jié)緩沖區(qū)大小
3)自己指定這些值,請在FileOutputStream上構(gòu)造OutputStreamWriter?
說明父類OutputStreamWriter對象的構(gòu)造方法中有利用字節(jié)輸出流FileOutputStream作為參數(shù)以及可以設(shè)置指定的字符編碼
public class FileWriter extends OutputStreamWriter
二、FileWriter流構(gòu)造方法
1)通過給定的File對象構(gòu)造FileWriter類對象:
本質(zhì)是利用File對象然后構(gòu)造FileOutputStream對象再調(diào)用父類的構(gòu)造方法,注意并未有關(guān)字符集和緩沖區(qū)大小的設(shè)置
public FileWriter(File file) throws IOException { super(new FileOutputStream(file)); }
2)通過給定File對象的構(gòu)造FileWriter對象, 如果第二個參數(shù)為true,則字節(jié)將寫入文件的末尾而不是開頭即是追加內(nèi)容而非覆蓋
本質(zhì)是利用File對象然后構(gòu)造FileOutputStream對象再調(diào)用父類的構(gòu)造方法注意并未有關(guān)字符集和緩沖區(qū)大小的設(shè)置
public FileWriter(File file, boolean append) throws IOException { super(new FileOutputStream(file, append)); }
3)通過給定的文件名構(gòu)造FileWriter對象:本質(zhì)與第一個構(gòu)造方法一致
public FileWriter(String fileName) throws IOException { super(new FileOutputStream(fileName)); }
4)通過給定的文件名構(gòu)造FileWriter對象, 如果第二個參數(shù)為true,則字節(jié)將寫入文件的末尾而不是開頭即是追加內(nèi)容而非覆蓋
本質(zhì)是與第二個構(gòu)造方法一致
public FileWriter(String fileName, boolean append) throws IOException { super(new FileOutputStream(fileName, append)); }
三、FileWriter流API
FileWriter的API中只有5個構(gòu)造方法,且本質(zhì)都是調(diào)用的父類OutputStreamWriter的構(gòu)造方法,因此若需要了解FileWriter的構(gòu)造方法,我們需要了解OutputStreamWriter類
OutputStreamWriter是從字符流到字節(jié)流的橋接:使用指定的字符集將寫入其中的字符編碼為字節(jié)。它使用的字符集可以通過名稱指定,也可以明確指定,或者可以接受平臺的默認字符集。
每次調(diào)用write()方法都會導致在給定字符上調(diào)用編碼轉(zhuǎn)換器。生成的字節(jié)在寫入底層輸出流之前在緩沖區(qū)中累積??梢灾付ù司彌_區(qū)的大小,但默認情況下,它足夠大,可用于大多數(shù)用途。
請注意,傳遞給write()方法的字符不會被緩沖。
到此這篇關(guān)于JAVA中的FileWriter流解析的文章就介紹到這了,更多相關(guān)FileWriter流解析內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談java.util.concurrent包中的線程池和消息隊列
這篇文章主要介紹了淺談java.util.concurrent包中的線程池和消息隊列,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08Java中final、static關(guān)鍵字與方法的重寫和繼承易錯點整理
這篇文章主要給大家介紹了關(guān)于Java中final、static關(guān)鍵字與方法的重寫和繼承易錯點的相關(guān)資料,在Java編程中final關(guān)鍵字用于限制方法或類的進一步修改,final方法不能被子類重寫,而static方法不可被重寫,只能被遮蔽,需要的朋友可以參考下2024-10-10IDEA的spring項目使用@Qualifier飄紅問題及解決
這篇文章主要介紹了IDEA的spring項目使用@Qualifier飄紅問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11Java實現(xiàn)NIO聊天室的示例代碼(群聊+私聊)
這篇文章主要介紹了Java實現(xiàn)NIO聊天室的示例代碼(群聊+私聊),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-05-05