gpt4 book ai didi

java - 从使用字节流写入的文件中读取

转载 作者:行者123 更新时间:2023-12-01 12:59:47 25 4
gpt4 key购买 nike

因此,我使用字节流将一系列 0 到 100000 之间的整数值写入文本文件,以确保它们以正确的格式存储,我尝试使用输入流来查看数字。我尝试了多种方法,但是每次打印出来的数字都不正确,任何人都可以看到我哪里出错了,或者对读取输入流的替代方法有任何想法:

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.Random;


public class Question1ByteStream {
public static void main(String[] args) throws IOException {
//************************************************************
//WRITING TO THE FILE

FileOutputStream out = null;
try {
out = new FileOutputStream("ByteOutStream.txt");
for(int i = 0; i < 10000; i ++){
Integer randomNumber = randInt(0, 100000);
byte[] bytes = ByteBuffer.allocate(4).putInt(randomNumber).array();
out.write(bytes);
}
}finally{
if (out != null) {
out.close();
}
}
//***********************************************************
//READING BACK FROM THE FILE

FileInputStream in = null;

try {
in = new FileInputStream("ByteOutStream.txt");
int c;

while ((c = in.read()) != -1) {
out.write(c);
}
} finally {
if (in != null) {
in.close();
}
}

}

//***************************************************************
public static int randInt(int min, int max) {
Random rand = new Random();
int randomNum = rand.nextInt((max - min) + 1) + min;

return randomNum;
}
}

最佳答案

使用 DataInputStream.readInt()。

您可以使用 DataOutputStream.writeInt() 更简单地写入整数。读写时在数据流和文件流之间使用缓冲流。

关于java - 从使用字节流写入的文件中读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23595216/

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