八. 输入输出(IO)操作3.面向字符的输出流
面向字符的輸出流都是類 Writer 的子類,其類層次結構如圖 10-5 所示。
圖10-5 Writer的類層次結構圖
表 10-3 列出了 Writer 的主要子類及說明。
| CharArrayWriter | 寫到字符數組的輸出流 |
| BufferedWriter | 緩沖輸出字符流 |
| PipedWriter | 輸出管道 |
| OutputStreamWriter | 轉換字符到字節的輸出流 |
| FilterWriter | 過濾輸出流 |
| StringWriter | 輸出到字符串的輸出流 |
| PrintWriter | 包含 print()和 println()的輸出流 |
| FileWriter | 輸出到文件的輸出流 |
Writer 所提供的方法如表 10-4 所示。
| void close() | 關閉輸出流 |
| void flush() | 將緩沖區中的數據寫到文件中 |
| void writer(int c) | 將單一字符 c 輸出到流中 |
| void writer(String str) | 將字符串 str 輸出到流中 |
| void writer(char[] ch) | 將字符數組 ch 輸出到流 |
| void writer(char[] ch, int offset, int length) | 將一個數組內自 offset 起到 length 長的字符輸出到流 |
使用 FileWriter 類寫入文件
FileWriter 類是 Writer 子類 OutputStreamWriter 類的子類,因此 FileWriter 類既可以使用 Writer類的方法也可以使用 OutputStreamWriter 類的方法來創建對象。
在使用 FileWriter 類寫入文件時,必須先調用 FileWriter()構造方法創建 FileWriter 類的對象,再調用 writer()方法。FileWriter 構造方法的格式為:
? ??public FileWriter(String name); ?//根據文件名創建一個可寫入的輸出流對象
? ? public FileWriter(String name,Boolean a); ?//a 為真,數據將追加在文件后面
【例 10-3】利用 FileWriter 類將 ASCⅡ字符寫入到文件中(查看源代碼)。
運行后程序后,打開 ep10_3.txt 文件,顯示內容為:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}
使用 BufferedWriter 類寫入文件
BufferedWriter 類是用來將數據寫入到緩沖區。使用時必須創建 FileWriter 類對象,再以該對象為參數創建 BufferedWriter 類的對象,最后需要用 flush()方法將緩沖區清空。BufferedWriter類有兩個構造方法,其格式為:
? ??public BufferedWriter(Writer out); ?//創建緩沖區字符輸出流
? ? public BufferedWriter 面向字符的輸出流都是類 Writer 的子類,其類層次結構如圖 10-5 所示。
圖10-5 Writer的類層次結構圖
表 10-3 列出了 Writer 的主要子類及說明。
| CharArrayWriter | 寫到字符數組的輸出流 |
| BufferedWriter | 緩沖輸出字符流 |
| PipedWriter | 輸出管道 |
| OutputStreamWriter | 轉換字符到字節的輸出流 |
| FilterWriter | 過濾輸出流 |
| StringWriter | 輸出到字符串的輸出流 |
| PrintWriter | 包含 print()和 println()的輸出流 |
| FileWriter | 輸出到文件的輸出流 |
Writer 所提供的方法如表 10-4 所示。
| void close() | 關閉輸出流 |
| void flush() | 將緩沖區中的數據寫到文件中 |
| void writer(int c) | 將單一字符 c 輸出到流中 |
| void writer(String str) | 將字符串 str 輸出到流中 |
| void writer(char[] ch) | 將字符數組 ch 輸出到流 |
| void writer(char[] ch, int offset, int length) | 將一個數組內自 offset 起到 length 長的字符輸出到流 |
使用 FileWriter 類寫入文件
FileWriter 類是 Writer 子類 OutputStreamWriter 類的子類,因此 FileWriter 類既可以使用 Writer類的方法也可以使用 OutputStreamWriter 類的方法來創建對象。
在使用 FileWriter 類寫入文件時,必須先調用 FileWriter()構造方法創建 FileWriter 類的對象,再調用 writer()方法。FileWriter 構造方法的格式為:
? ??public FileWriter(String name); ?//根據文件名創建一個可寫入的輸出流對象
? ? public FileWriter(String name,Boolean a); ?//a 為真,數據將追加在文件后面
【例 10-3】利用 FileWriter 類將 ASCⅡ字符寫入到文件中(查看源代碼)。
運行后程序后,打開 ep10_3.txt 文件,顯示內容為:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}
使用 BufferedWriter 類寫入文件
BufferedWriter 類是用來將數據寫入到緩沖區。使用時必須創建 FileWriter 類對象,再以該對象為參數創建 BufferedWriter 類的對象,最后需要用 flush()方法將緩沖區清空。BufferedWriter類有兩個構造方法,其格式為:
? ??public BufferedWriter(Writer out); ?//創建緩沖區字符輸出流
? ? public BufferedWriter www.xinbeiyuLe.cn?(Writer out,int size); ?//創建輸出流并設置緩沖區大小
【例 10-4】利用 BufferedWriter 類進行文件復制(查看源代碼)。
需要注意的是,調用 out 對象的 write()方法寫入數據時,不會寫入回車,因此需要使用newLine()方法在每行數據后加入回車,以保證目標文件與源文件相一致。(Writer out,int size); ?//創建輸出流并設置緩沖區大小
【例 10-4】利用 BufferedWriter 類進行文件復制(查看源代碼)。
需要注意的是,調用 out 對象的 write()方法寫入數據時,不會寫入回車,因此需要使用newLine()方法在每行數據后加入回車,以保證目標文件與源文件相一致。
轉載于:https://www.cnblogs.com/ok932343846/p/7049482.html
總結
以上是生活随笔為你收集整理的八. 输入输出(IO)操作3.面向字符的输出流的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 01_html简介
- 下一篇: java爬取百度首页源代码