fis.available() 是什么意思
时间: 2024-04-29 20:20:26 浏览: 15
fis.available() 是 Java 中用于检测 FileInputStream 对象是否已经准备好读取数据的方法。它返回一个整数值,表示当前可以读取的字节数量,如果返回值为 0,则表示当前没有可读取的数据,如果返回值为 -1,则表示已经到达文件末尾。通常在读取文件时使用该方法来检测是否还有数据需要读取。
相关问题
使用FileInputStream字节流读取文件中数据在项目目录下创建一个文本文件fis.txt,在文件中编辑内容“Welcome to learn IO stream!”。在项目中创建一个名称为Example01的类。在main()方法中,通过FileInputStream(String name)构造方法创建文件输入字节流对象,并指定待读取文件fis.txt的路径。把fis.txt文件的内容读出来显示在控制台,关闭流。 在main()方法中,通过FileOutputStream(String name)构造方法创建文件输出字节流对象,并指定写入的文件路径为文本文件fis.txt。定义一段字符串,并将它转换成byte数组,然后通过write(byte[] b)方法,将byte数组写入到文件输出流中。关闭流资源
好的,理解了你的要求。以下是示例代码:
```java
import java.io.*;
public class Example01 {
public static void main(String[] args) {
// 读取文件内容
try (FileInputStream fis = new FileInputStream("fis.txt")) {
byte[] content = new byte[fis.available()];
fis.read(content);
System.out.println(new String(content));
} catch (IOException e) {
e.printStackTrace();
}
// 写入文件内容
try (FileOutputStream fos = new FileOutputStream("fis.txt")) {
String str = "Hello, world!";
byte[] bytes = str.getBytes();
fos.write(bytes);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
注意,这里使用了 try-with-resources 语句,可以自动关闭流资源,无需手动调用 close() 方法。在读取文件内容时,我们使用 `fis.available()` 方法获取文件的可读字节数,并将其作为数组长度创建 byte 数组,从而一次性读取整个文件内容。在写入文件内容时,我们先定义了一个字符串,然后使用 `getBytes()` 方法将其转换为 byte 数组,最后通过 `fos.write(bytes)` 方法写入到文件输出流中。
Java FileInputStream available()方法与示例
`FileInputStream` 的 `available()` 方法返回还未读取的字节数。
下面是一个简单的示例,演示如何使用 `FileInputStream` 类的 `available()` 方法:
```java
import java.io.*;
public class Example {
public static void main(String[] args) {
try {
FileInputStream fis = new FileInputStream("example.txt");
System.out.println("Number of bytes available to read: " + fis.available());
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上面的示例中,我们创建了一个 `FileInputStream` 对象来读取名为 "example.txt" 的文件,并使用 `available()` 方法获取还未读取的字节数。最后,我们关闭了输入流。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)