目录
题目:*17.3 (对二进制数据文件中的所有整教求和)
习题思路
代码示例
输出结果
题目:*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