目录
题目:*17.3 (对二进制数据文件中的所有整教求和)
假设已经使用 DataOutputStream 中的 writelnt(int) 方法创建了一个名为 Exercise17_03.dat 的二进制数据文件,文件包含数目不确定的整数,编写 一个程序来计算这些整数的总和。
-
习题思路
- 使用DataOutputStream向Exercise17_03写入几个整数。
- 使用DataInputStream用while循环读取整数,累加到一个int值里。直到出现异常后停止读取,输出累加的和。
-
代码示例
编程练习题17_3BinarySummation.java
package chapter_17;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.EOFException;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class 编程练习题17_3BinarySummation {
public static void main(String[] args) throws IOException{
int sum = 0;
try(
DataOutputStream output =
new DataOutputStream(new FileOutputStream("src/Text/Exercise17_03.dat"));
){
output.writeInt(1);
output.writeInt(2);
output.writeInt(3);
}
try(
DataInputStream input =
new DataInputStream(new FileInputStream("src/Text/Exercise17_03.dat"));
){
while(true) {
sum += input.readInt();
}
}catch (EOFException e) {
System.out.println(sum);
}
}
}
-
输出结果
6