3.编程:利用DatalntputStream. BufferedInputStream 以及FileInputStream类将练习3中生成的Sumdata.dat中写入的整型数据读出并求和,将结果输出,类名称为InputStreamTest (要求:如果文件不存在,要提示文件不存在)写出运行结果和结果分析
时间: 2024-02-05 19:13:49 浏览: 57
以下是代码实现:
```java
import java.io.*;
public class InputStreamTest {
public static void main(String[] args) {
File file = new File("Sumdata.dat");
if (!file.exists()) {
System.out.println("文件不存在");
return;
}
try (FileInputStream fis = new FileInputStream(file);
BufferedInputStream bis = new BufferedInputStream(fis);
DataInputStream dis = new DataInputStream(bis)) {
int sum = 0;
while (dis.available() > 0) {
sum += dis.readInt();
}
System.out.println("文件中的整数和为:" + sum);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
运行结果:
如果Sumdata.dat文件存在且内容为1、2、3、4、5,运行结果为:
```
文件中的整数和为:15
```
如果Sumdata.dat文件不存在,运行结果为:
```
文件不存在
```
结果分析:
该代码利用FileInputStream读取文件,BufferedInputStream和DataInputStream包装流提高效率和方便读取数据。读取文件时利用while循环和available()方法判断是否还有数据可读,如果有则读取整数并求和。如果文件不存在则输出提示信息。
阅读全文