fileinputstream 读取流
时间: 2023-07-18 18:16:12 浏览: 83
Java中的FileInputStream类是用于从文件中读取数据的类。以下是使用FileInputStream类读取流的步骤:
1. 创建一个FileInputStream对象,将要读取的文件的路径作为参数传递给它。
```java
FileInputStream fis = new FileInputStream("path/to/file");
```
2. 创建一个byte数组,用于存储从文件中读取的数据。
```java
byte[] buffer = new byte[1024];
```
3. 使用read()方法从文件中读取数据。read()方法返回一个int类型的值,表示实际读取的字节数。
```java
int bytesRead = fis.read(buffer);
```
4. 使用while循环,读取文件中的所有数据。
```java
while (bytesRead != -1) {
// 处理读取到的数据
// ...
bytesRead = fis.read(buffer);
}
```
5. 关闭FileInputStream对象。
```java
fis.close();
```
注意事项:
- FileInputStream类的read()方法是阻塞的,它将一直等待直到有数据可读。
- 在使用FileInputStream类读取文件时,需要处理IOException异常。
相关问题
FileInputStream读取流设置编码格式
在使用 FileInputStream 读取文件时,它读取的是字节流,而不是字符流。因此,它不涉及编码格式的问题。如果你需要将字节流转换为字符流,并指定编码格式,可以使用 InputStreamReader 类。
以下是一个使用 FileInputStream 和 InputStreamReader 读取 UTF-8 编码的文件的示例代码:
```java
FileInputStream fis = new FileInputStream("example.txt");
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
int c;
while ((c = isr.read()) != -1) {
char character = (char) c;
System.out.print(character);
}
isr.close();
```
在这个例子中,我们首先使用 FileInputStream 打开名为 example.txt 的文件。然后,我们创建一个 InputStreamReader 对象,并将 FileInputStream 对象和 UTF-8 编码作为参数传递给它。接下来,我们使用 InputStreamReader 的 read() 方法读取文件的字符流,并将每个字符打印到控制台上。最后,我们关闭 InputStreamReader 对象。
请注意,如果你的文件使用的是其他编码格式,你需要相应地更改 InputStreamReader 的构造函数中的编码格式参数。
fileinputstream读取中文
FileInputStream可以读取中文字符,但需要注意编码问题。如果文件是UTF-8编码,可以使用以下代码读取:
```
FileInputStream fis = new FileInputStream("文件路径");
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
```
其中,InputStreamReader将字节流转换为字符流,并指定编码为UTF-8。BufferedReader可以按行读取文件内容。
阅读全文