日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

重学 Java 之 5种字符流读取方法

發布時間:2024/4/11 java 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 重学 Java 之 5种字符流读取方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Reader

java 中的 IO 輸入流不是只有 InputStream 還有按字符輸入的 Reader。

和 InputStream 一樣,Reader 也是所有字符輸入流的超類。主要的方法是:public int read() throws IOException,read() 讀取字符流中的下一個字符,返回 0-65535 的 int 類型數值, 返回 -1 表示已經讀取結束。

FileReader

FileReader 打開一個文件并獲取到文件的字符流。FileReader 用于讀取文件中的內容。

private void fileReaderDemo() throws Exception {Reader reader = new FileReader("D:\\readerDemo.txt");int n;while ((n = reader.read()) != -1) {System.out.print((char)n);}reader.close(); }

Reader 實現了 Closeable 接口,可以用?try(Reader reader = new FileReader("D:\\readerDemo.txt")) {}?的方式關閉掉資源。

InputStreamReader

InputStreamReader 就是將 InputStream 讀取的字節流裝換為 Reader 的字符流。可以把任意的 InputStream 轉換為 Reader,FileReader 就繼承自 InputStreamReader。在創建 InputStreamReader 實例對象的時候可以指定字符集,以防止亂碼。

private void inputStreamReaderDemo() throws Exception {InputStream inputStream = new FileInputStream("D:\\readerDemo.txt");try(Reader reader = new InputStreamReader(inputStream, "utf-8")) {int n;while ((n = reader.read()) != -1) {System.out.print((char)n);}} }

StringReader 和 CharArrayReader

FileReader 是將文件作為一個讀取源,StringReader 將 string 字符串作為一個讀取源。

private void stringReaderDemo() throws Exception {try(Reader reader = new StringReader("這是測試代碼")) {char[] buffer = new char[1024];while ((reader.read(buffer)) != -1) {System.out.print(buffer);}} }

reader.read(char[] buffer) 是 reader 讀取字符流的重載方法,將內容不在是一個 char 一個 char 的輸出,而是將內容讀取到緩沖區 buffer 后一次性輸出。

CharArrayReader 和 StringReader 幾乎一樣,調用方法變成了?try(Reader reader = new CharArrayReader("這是測試代碼".toCharArray()))

BufferedReader

提供通用的緩沖方式讀取文本并且提供了 readLine() 讀取了一個文本行。從字符輸入流中讀取文本,緩沖各個字符,從而提供字符、數組和行的高效讀取。

private void bufferedReaderDemo() throws Exception {try(BufferedReader reader = new BufferedReader(new FileReader("D:\\readerDemo.txt"))) {String line;while ((line = reader.readLine()) != null) {System.out.println(line);}} }

總結

介紹了幾種常用 Reader 輸入流的使用方式。FileReader 用于文件讀取,BufferedReader 自帶緩沖區讀取效率高,StringReader 和 CharArrayReader 可以讀取字符串源,InputStreamReader 將 InputStream 轉為 Reader。

總結

以上是生活随笔為你收集整理的重学 Java 之 5种字符流读取方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。