二进制 I/O 类(对二进制数据文件中的所有整数求和)

发布于 2024-10-05 08:40:44 字数 175 浏览 3 评论 0原文

有人可以帮我解决这个问题吗?我不太擅长二进制 I/O 类。

假设使用 DataOutputStream 中的 writeInt(int) 创建了一个名为Exercise 13b_1.dat 的二进制数据文件。该文件包含未指定数量的整数。编写一个程序来求整数之和。

Could someone please help me through this problem? I'm not really good with the binary I/O classes.

Suppose a binary data file named Exercise 13b_1.dat has been created using writeInt(int) in DataOutputStream. The file contains an unspecified number of integers. Write a program to find the sum of integers.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

养猫人 2024-10-12 08:40:44

这是一个简单的解决方案。

FileInputStream fis = new FileInputStream("13b_1.dat");
DataInputStream dis = new DataInputStream(fis);
int count = 0;

try {
    while (true) {
        dis.readInt();
        count++;
    }

} catch (EOFException e) {}

System.out.println("There are " + count + " integers.");

为了提高效率,您可以读入一堆字节并将字节数除以四,因为一个整数是四个字节。

Here is a simple solution.

FileInputStream fis = new FileInputStream("13b_1.dat");
DataInputStream dis = new DataInputStream(fis);
int count = 0;

try {
    while (true) {
        dis.readInt();
        count++;
    }

} catch (EOFException e) {}

System.out.println("There are " + count + " integers.");

For efficiency, you can read in a bunch of bytes and divide the number of bytes by four, since one integer is four bytes.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文