java字符流
字符流: 字符輸入流(讀) Reader類抽象類 Reader類的常用方法: int read() int read(char[] c) read(char[] c,int off,int len) void close() InputStreamReader類可以指定字符編碼格式 Reader類的子類InputStreamReader常用的構造方法 new InputStreamReader(InputStream in) new InputStreamReader(InputStream in,String charSetName) 傳入的是字節輸入流對象,所以使用前要創建FileInputStream對象 charsetName指定的編碼格式 FileReader類不可以指定字符編碼格式,按照文件系統默認編碼格式去讀 InputStreamReader類的子類FileReader的構造方法 new FileReader(File file) new FileReader(String pathname) 中文亂碼 原因:文件編碼格式? 和? 程序環境的編碼格式不一致 解決方案: 字符流去讀的時候,指定字符流的編碼格式 System.out.println(System.getProperty("file.encoding"))(獲得本地平臺的字符編碼類型) txt文本的編碼格式是ANSI(GBK) 緩沖流: BufferedReader類 Reader類的子類BufferedReader類使用BufferedReader要傳入Reader對象,所以使用前要先創建Reader對象 readLine() 字符輸出流(寫) Writer類抽象類 Writer類的常用方法 writer(String str) writer(String str,int off,int len) void close() void flush() 清空緩存 OutputStreamWriter類可以指定字符編碼格式 Writer類的子類OutputStreamWriter類常用的構造方法 new OutputStreamWriter(OutputStream out) new OutputStreamWriter(OutputStream out,String charSetName) charsetName指定的編碼格式 FileWriter類不可以指定字符編碼格式,會按照文件系統默認編碼格式去寫 InputStreamWriter類的子類FileWriter的構造方法:以下兩種構造,都可以重載,指定一個boolean類型的參數,用來指定追加還是覆蓋文件內容 new FileWriter(File file) new FileWriter(String pathname) 緩沖流: BufferedWeiter類 Writer類的子類BufferedWriter類常用的構造方法 new BufferedWriter(Writer out) newLine() 創建新的一行
轉載于:https://www.cnblogs.com/KiligYou/p/10926725.html
總結
- 上一篇: 什么叫优雅降级和渐进增强
- 下一篇: 读《三体Ⅱ · 黑暗森林》| 人能相互理