gpt4 book ai didi

java - 在 Java 中将 .dat 文件读入数组

转载 作者:行者123 更新时间:2023-11-29 03:21:51 25 4
gpt4 key购买 nike

我正在编写的代码有两个类:writeInts 和 readInts。我编写了 writeInts 来随机生成 0 到 1000 之间的 100 个数字,并将它们输出到 data.dat 文件。

readInts 应该打开一个 DataInputStream 对象并从 data.dat 文件中读取“原始”数据并将这 100 个整数存储在一个数组中。我的问题是我似乎无法正确读取数据。对此的任何帮助将不胜感激。谢谢!

写入整数:

import java.io.*;


public class WriteInts {
public static void main(String[] args) throws IOException {
DataOutputStream output = new DataOutputStream(new FileOutputStream("data.dat"));
int num = 0 + (int)(Math.random());
int[] counts = new int[100];
for(int i=0; i<100; i++) {
output.writeInt(num);
counts[i] += num;

System.out.println(num);
}
output.close();
}

}

读整数:

import java.io.*;
import java.util.*;

public class ReadInts {
public static void main(String[] args) throws IOException {

// call the file to read
Scanner scanner = new Scanner(new File("data.dat"));
int[] data = new int[100];
int i = 0;
while (scanner.hasNextInt()) {
data[i++] = scanner.nextInt();

System.out.println(data[i]);

scanner.close();
}

}

}

最佳答案

如果要写入二进制数据,请使用DataInputStream/DataOutputStream扫描仪 用于文本数据,您不能混用。

写入整数:

import java.io.*;

public class WriteInts {
public static void main(String[] args) throws IOException {
DataOutputStream output = new DataOutputStream(new FileOutputStream(
"data.dat"));

for (int i = 0; i < 100; i++) {
output.writeInt(i);
System.out.println(i);
}

output.close();
}

}

ReadInts:

import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;

public class ReadInts {
public static void main(String[] args) throws IOException {
DataInputStream input = new DataInputStream(new FileInputStream(
"data.dat"));

while (input.available() > 0) {
int x = input.readInt();
System.out.println(x);
}

input.close();
}

}

关于java - 在 Java 中将 .dat 文件读入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23141851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com