java在IO流中怎么样读取已有数据并且求和?
(所有的整数求和在二进制数据文件)假设一个二进制数据文件命名为Exercise19_3.dat。已经创建了数据的使用writeInt在DataOutputStream(i...
(所有的整数求和在二进制数据文件)假设一个二进制数据文件命名为Exercise19_3.dat。已经创建了数据的使用writeInt在DataOutputStream(int)。该文件包含了数量不明的整数。编写一个程序来找到整数之和。
展开
2个回答
展开全部
import java.io.*;
public class NoInputNoOutput {
public static void main(String[] args) throws IOException {
System.out.println("-----开始写入 -----");
// 当前目录下建一文件
File f = new File("Exercise19_3.dat");
// 准备往里面写东西
OutputStream os = new FileOutputStream(f);
// 使用过滤流将写入单位扩大为对象
DataOutputStream dos = new DataOutputStream(os);
// 定义4个整数
int[] data = { 1, 2, 3, 4 };
// 往文件里写入4个数据
for (int i = 0; i < data.length; i++) {
dos.writeInt(data[i]);
}
// 摧毁指针以防止黑客对数据进行破坏
dos.close();
System.out.println("-----写入完毕 -----");
System.out.println("+++++开始读取 +++++");
// 输出流
InputStream is = new FileInputStream(f);
// 过滤流
DataInputStream dis = new DataInputStream(is);
// 存放总和
int result = 0;
// 疯狂地读取
while (true) {
try {
// 每读出一个整数累加到result中
result += dis.readInt();
} catch (Exception e) {
// 当读取无法完成时跳出循环
break;
}
}
// 跳到这里
System.out.println("相加结果:" + result);
System.out.println("+++++读取完毕+++++");
}
}
public class NoInputNoOutput {
public static void main(String[] args) throws IOException {
System.out.println("-----开始写入 -----");
// 当前目录下建一文件
File f = new File("Exercise19_3.dat");
// 准备往里面写东西
OutputStream os = new FileOutputStream(f);
// 使用过滤流将写入单位扩大为对象
DataOutputStream dos = new DataOutputStream(os);
// 定义4个整数
int[] data = { 1, 2, 3, 4 };
// 往文件里写入4个数据
for (int i = 0; i < data.length; i++) {
dos.writeInt(data[i]);
}
// 摧毁指针以防止黑客对数据进行破坏
dos.close();
System.out.println("-----写入完毕 -----");
System.out.println("+++++开始读取 +++++");
// 输出流
InputStream is = new FileInputStream(f);
// 过滤流
DataInputStream dis = new DataInputStream(is);
// 存放总和
int result = 0;
// 疯狂地读取
while (true) {
try {
// 每读出一个整数累加到result中
result += dis.readInt();
} catch (Exception e) {
// 当读取无法完成时跳出循环
break;
}
}
// 跳到这里
System.out.println("相加结果:" + result);
System.out.println("+++++读取完毕+++++");
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询