Просто чтобы немного рассказать о том, как хранятся целые числа:
Чтобы подвести итогВаш файл состоит из байтов .Каждый байт имеет значение от 0 до 255.
Для представления 32-битного целого необходимо 4 байта.
В Java есть int (4 байта) и long (8 байтов).
Самый простой способ хранить данные в двоичном файле - это DataOutputStream
, а читать его DataInputStream
.Он будет обрабатывать все эти преобразования для вас.
DataOutputStream out = new DataOutputStream(new FileOutputStream("intFile.bin"));
out.writeInt(123456789);
out.close();
DataInputStream in = new DataInputStream(new FileInputStream("intFile.bin"));
System.out.println(in.readInt());
in.close();
Чтобы получить отдельные байты из файла, сделайте следующее:
InputStream in_bytes = new FileInputStream("intFile.bin");
int nextByte = in_bytes.read();
while(nextByte != -1) {
System.out.println(nextByte);
nextByte = in_bytes.read();
}
in_bytes.close();
Чтобы записать в файл отдельные байты, сделайте следующее:
OutputStream out_bytes = new FileOutputStream("intFile.bin");
out_bytes.write(1);
out_bytes.write(2);
out_bytes.write(3);
out_bytes.write(4);
out_bytes.close();
Но, как вы уже поняли, здесь вы пишете байты, и поэтому вы ограничены диапазоном от 0 до 255.