fileInputStream.available()
时间: 2023-10-25 08:27:14 浏览: 111
fileInputStream.available()方法用于返回可以从FileInputStream对象中读取的剩余字节数。这个方法不会被下一次调用阻塞。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [Java FileInputStream available()方法与示例](https://blog.csdn.net/cumt951045/article/details/107766552)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
相关问题
已有class student implements Serializable{ private static final long serialVersionUID=1L; String name; String gender; String major; String clas; student(String name,String gender,String major,String clas){ this.name=name;this.gender=gender;this.major=major;this.clas=clas; }; public String toString() { return (name+"/"+gender+"/"+major+"/"+clas); } } ,代码 ObjectInputStream ois=new ObjectInputStream(new FileInputStream("D:\\studentdatabase.dat")); ois.available(); ois.close();运行时报错Exception in thread "main" java.io.StreamCorruptedException: invalid type code: AC at java.base/java.io.ObjectInputStream$BlockDataInputStream.readBlockHeader(ObjectInputStream.java:3150) at java.base/java.io.ObjectInputStream$BlockDataInputStream.available(ObjectInputStream.java:3296) at java.base/java.io.ObjectInputStream.available(ObjectInputStream.java:1063) at JavaExam/JE.Exam01.main(Exam01.java:31) ,请问我该如何解决这个问题?
这个错误通常是由于文件中存储的数据格式与代码中定义的数据格式不一致导致的。可以尝试以下几个方法来解决这个问题:
1. 确认存储数据的文件是否是你所期望的格式,可以使用文本编辑器打开文件查看。
2. 确认读取数据的代码是否与存储数据的代码一致,即是否是同一个类。
3. 确认读取数据的代码中是否指定了正确的文件路径。
4. 尝试使用 `ObjectOutputStream` 来重新存储数据,确保文件中存储的数据格式正确。
5. 尝试使用 `reset()` 方法重置 `ObjectInputStream` 对象,然后重新读取数据。
如果以上方法都不行,可以尝试使用其他的序列化方式或者其他的输入输出流。
inputstream.available() 方法
Java中的InputStream类是用于从输入源读取数据的抽象类。它包含了许多方法来读取数据,包括available()方法。
InputStream.available()方法返回输入流中可用的字节数,而不需要阻塞等待更多的数据。这个方法可以用于检查在读取输入数据之前是否有足够的数据可用。
如果输入流不支持available()方法,则它将返回0。
下面是一个示例程序,演示了如何使用InputStream.available()方法:
```java
import java.io.*;
public class InputStreamExample {
public static void main(String[] args) {
try {
InputStream input = new FileInputStream("myfile.txt");
int availableBytes = input.available();
System.out.println("Bytes available: " + availableBytes);
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在这个示例程序中,我们打开一个名为“myfile.txt”的文件并创建一个InputStream对象。我们然后调用InputStream.available()方法来获取可用的字节数,并将结果打印到控制台上。
请注意,我们在完成读取后关闭了InputStream对象。这是一个很好的习惯,因为它可以释放资源并防止资源泄漏。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)