首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从同一个FileInputStream中读取字符串和二进制文件

从同一个FileInputStream中读取字符串和二进制文件是一个常见的需求。要实现这个功能,可以使用Java的IO流来读取文件。

首先,需要创建一个FileInputStream对象,并将其指向要读取的文件。然后,可以使用InputStreamReader和BufferedReader来读取文件中的字符串。对于二进制文件,可以使用FileInputStream直接读取字节流。

以下是一个示例代码,演示如何从同一个FileInputStream中读取字符串和二进制文件:

代码语言:java
复制
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;

public class ReadFile {
    public static void main(String[] args) throws Exception {
        FileInputStream fis = new FileInputStream("example.txt");
        InputStreamReader isr = new InputStreamReader(fis);
        BufferedReader br = new BufferedReader(isr);

        // 读取字符串
        String line;
        while ((line = br.readLine()) != null) {
            System.out.println(line);
        }

        // 读取二进制文件
        byte[] buffer = new byte[1024];
        int bytesRead;
        while ((bytesRead = fis.read(buffer)) != -1) {
            // 处理字节流
        }

        // 关闭资源
        br.close();
        fis.close();
    }
}

在这个示例中,我们首先创建了一个FileInputStream对象,并将其指向一个名为"example.txt"的文件。然后,我们使用InputStreamReader和BufferedReader来读取文件中的字符串。接下来,我们使用FileInputStream直接读取字节流,并将其存储在一个字节数组中。最后,我们关闭了资源。

需要注意的是,在读取字节流时,我们使用的是FileInputStream对象,而不是InputStreamReader和BufferedReader对象。这是因为字节流和字符流是两种不同的流,它们不能混合使用。如果需要同时读取字符串和二进制文件,需要分别使用不同的流来读取。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券