更新時間:2022-03-15 來源:黑馬程序員 瀏覽量:
在程序開發(fā)中,經(jīng)常需要對文本文件的內(nèi)容進(jìn)行讀取,如果想從文件中直接讀取字符便可以使用字符輸入流FileReader,通過此流可以從關(guān)聯(lián)的文件中讀取一個或一組字符。下面通過一個案例來學(xué)習(xí)如何使用Filereader讀取文件中的字符。
首先在Java項目的根目錄下新建文本文件“reader.txt"并在其中輸入字符“itcast”,然后創(chuàng)建一個類Example15,在類Example中創(chuàng)建字符輸入流FileReader對象讀取文件中的內(nèi)容,如文件7-16所示。
文件7-16 Example15.java
import java.io.*; public class Example15 { public static void main (String[] args)throws Exception { // 創(chuàng)建一個FileReader對象用來讀取文件中的字符 FileReader reader = new FileReader("reader.txt"); int ch; // 定義一個變量用于記錄讀取的字符 while( (ch = reader.read () )!= -1) { //循環(huán)判斷是否讀取到文件的末尾 System.out.println((char) ch); //不是字符流末尾就轉(zhuǎn)為字符打印 } reader.close() ; // 關(guān)閉文件讀取流,釋放資源 } }
文件7-16的運行結(jié)果如圖7-25所示。
文件7-16實現(xiàn)了讀取文件字符的功能。第5行代碼創(chuàng)建一個FileReader對象與文件關(guān)聯(lián),第7~9行代碼通過while循環(huán)每次從文件中讀取一個字符并打印,這樣便實現(xiàn)了FileReader讀文件字符的操作。需要注意的是,字符輸入流的read()方法返回的是int類型的值,如果想獲得字符就需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換,如文件7-16中第8行代碼就是將變量ch強(qiáng)制轉(zhuǎn)換為char類型再打印。