*17.3 (对二进制数据文件中的所有整教求和)
假设已经使用 DataOutputStream 中的 writelnt(int) 方法创建了一个名为 Exercise17_03.dat 的二进制数据文件,文件包含数目不确定的整数,编写 一个程序来计算这些整数的总和。
编程练习题17_2CreatebinaryDataFile.java
package chapter_17;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class 编程练习题17_2CreatebinaryDataFile {
public static void main(String[] args)throws IOException {
try(FileOutputStream output = new FileOutputStream("src/Text/Exercise17_02.dat",true))
{
for(int i = 0;i < 100;i++) {
// 0-9的ASCII范围是48-57
int rand = (int)(Math.random()*10);
output.write(rand);
}
}
try(FileInputStream input = new FileInputStream("src/Text/Exercise17_02.dat"))
{
int value;
while((value = input.read()) != -1)
System.out.print(value+" ");
}
}
}
结果
7 7 3 6 9 9 4 8 4 7 1 2 7 6 8 3 2 5 6 2 7 5 5 9 8 4 5 2 3 8 2 0 6 3 5 7 9 9 1 6 6 4 5 9 1 7 2 9 7 6 6 9 0 5 4 2 6 0 5 9 5 9 3 1 7 5 2 0 2 2 7 0 0 7 2 7 2 6 8 0 9 4 3 5 2 5 3 5 2 3 8 4 1 8 4 0 7 0 9 7