gpt4 book ai didi

java - 使用 DataOutputStream 将 int 写入文件

转载 作者:行者123 更新时间:2023-12-02 05:25:33 25 4
gpt4 key购买 nike

我正在生成随机整数并尝试将它们写入文件。问题是当我打开我创建的文件时,我找不到我的整数,而是找到一组符号,例如正方形等......这是编码问题吗?

import java.io.DataOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class GenerateBigList {

public static void main(String[] args) {
//generate in memory big list of numbers in [0, 100]
List list = new ArrayList<Integer>(1000);
for (int i = 0; i < 1000; i++) {
Double randDouble = Math.random() * 100;
int randInt = randDouble.intValue();
list.add(randInt);
}

//write it down to disk
File file = new File("tmpFileSort.txt");
try {

FileOutputStream fos = new FileOutputStream("C:/tmp/tmpFileSort.txt");
DataOutputStream dos = new DataOutputStream(fos);
writeListInteger(list, dos);
dos.close();

} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

private static void writeListInteger(List<Integer> list, DataOutputStream dos) throws IOException {
for (Integer elt : list) {
dos.writeInt(elt);
}
}

}

从创建的文件中部分复制粘贴:

/   O   a   C   ?       6   N       

最佳答案

来自doc :

 public final void writeInt(int v) throws IOException
Writes an int to the underlying output stream as four bytes, high byte first. If no exception is thrown, the counter written is incremented by 4.

不存在编码问题。这就是当您使用文本编辑器打开二进制文件时看到的内容。尝试使用十六进制编辑器打开。

关于java - 使用 DataOutputStream 将 int 写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26072482/

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