そのため、バイト ストリームを使用してテキスト ファイルに 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;
}
}