InputStreamReader是Java中用于讀取字符流的類,它是InputStream和Reader的橋梁,將字節流轉換為字符流。下面是InputStreamReader類的簡單實現:
import java.io.*;
public class InputStreamReaderDemo {
public static void main(String[] args) {
try {
// 創建一個字節流
FileInputStream fis = new FileInputStream("input.txt");
// 創建一個字符流,并將字節流轉換為字符流
InputStreamReader isr = new InputStreamReader(fis);
// 創建一個緩沖字符流
BufferedReader br = new BufferedReader(isr);
// 讀取文件內容并打印
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
// 關閉流
br.close();
isr.close();
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上面的代碼中,首先創建了一個字節流FileInputStream,然后將它傳遞給InputStreamReader構造方法,創建一個字符流InputStreamReader。
接下來,創建了一個緩沖字符流BufferedReader,將InputStreamReader作為參數傳遞給它的構造方法。
最后,通過調用BufferedReader的readLine()方法,逐行讀取文件內容并打印。
最后,需要注意的是,在使用完InputStreamReader和FileInputStream之后,需要調用對應的close()方法來關閉流,釋放資源。