欢迎访问宙启技术站
智能推送

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函数创建缓冲字符流对象来读取字符流中的内容。最后,记得关闭流,释放资源。