Java中的InputStreamReader()函数解释和使用示例
发布时间:2023-09-24 14:15:02
InputStreamReader()函数是Java中用于将字节流转换为字符流的类,它继承自Reader类。
函数定义:
public InputStreamReader(InputStream in)
参数说明:
- in:表示要转换的字节流对象
函数说明:
- InputStreamReader()函数用于创建一个新的InputStreamReader对象,并将字节流转换为字符流。
- 字节流通过构造函数的参数传入,调用该函数后会返回一个新的字符流对象。
使用示例:
下面是一个简单的使用示例,示例中将字节流转换为字符流,并读取其中的内容。
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.BufferedReader;
public class InputStreamReaderExample {
public static void main(String[] args) {
try {
// 创建字节流对象
FileInputStream fis = new FileInputStream("data.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 (Exception e) {
e.printStackTrace();
}
}
}
上述代码中包含以下步骤:
1. 创建一个字节流对象FileInputStream,该对象与指定的文件"data.txt"建立连接。
2. 通过InputStreamReader函数创建一个字符流对象InputStreamReader,将字节流对象fis作为参数传入构造函数中。
3. 通过BufferedReader函数创建一个缓冲字符流对象BufferedReader,将字符流对象isr作为参数传入构造函数中。
4. 使用readLine()函数逐行读取字符流中的内容,并通过System.out.println()函数输出。
5. 关闭流,释放资源。
总结:
InputStreamReader()函数是Java中用于将字节流转换为字符流的函数,可以方便地读取字节流中的内容。在使用时,首先需要创建一个字节流对象,然后通过InputStreamReader函数将字节流转换为字符流,并通过BufferedReader函数创建缓冲字符流对象来读取字符流中的内容。最后,记得关闭流,释放资源。
