编程:利用DataIntputStream、BufferedInputStream以及FileInputStream类将练习3中生成的Sumdata.dat中写入的整型数据读出并求和,将结果输出,类名称为InputStreamTest(要求:如果文件不存在,要提示文件不存在)
时间: 2023-10-25 18:14:28 浏览: 173
ACM中使用java(完整版)
3星 · 编辑精心推荐
好的,以下是代码实现:
```java
import java.io.*;
public class InputStreamTest {
public static void main(String[] args) {
String filePath = "Sumdata.dat";
File file = new File(filePath);
if (!file.exists()) {
System.out.println("文件不存在");
return;
}
int sum = 0;
try (DataInputStream dis = new DataInputStream(new BufferedInputStream(new FileInputStream(file)))) {
while (dis.available() > 0) {
int num = dis.readInt();
sum += num;
}
System.out.println("文件中所有整数的和为:" + sum);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
首先判断文件是否存在,如果不存在则输出提示信息并结束程序。然后使用`FileInputStream`类读取文件,再将其包装进`BufferedInputStream`和`DataInputStream`类中,以便更高效地读取整型数据。接着,利用`available()`方法判断是否还有可读的数据,如果有则读取一个整型数值,并将其累加到`sum`变量中。最后输出整个文件中所有整数的和。
阅读全文