Рубрики
Без рубрики

Запись данных в двоичный файл на Java

Компьютеры с двоичными файлами основаны на двоичной системе нумерации, которая состоит всего из tw… С тегом java, обработка файлов, двоичный файл.

Двоичные файлы

Компьютеры основаны на двоичной системе нумерации, которая состоит всего из двух уникальных чисел, 0 и 1 . Все операции, которые возможны в десятичной системе счисления (сложение, вычитание, умножение, деление), одинаково возможны и в двоичной системе счисления. Двоичный файл доступен для чтения компьютером, но не для чтения человеком. Все исполняемые программы хранятся в двоичных файлах, как и большинство файлов числовых данных. Напротив, текстовые файлы хранятся в форме (обычно ASCII), которая удобочитаема для человека.

Запись данных в Двоичный файл

Прием значений данных с консоли и отправка их из буфера памяти на дополнительное запоминающее устройство. Он имеет дело со всеми типами примитивных данных, а именно. short, int, long, float, double, char, boolean и String. В этой системе данные хранятся в байтах на вторичных устройствах хранения. При создании двоичного файла выполните следующие действия: 1. Создайте файл в режиме выходного потока вместе с объектом потока.

Синтаксис: FileOutputStream FileOutputStream <имя файла> Например,

FileOutputStream fout = new FileOutputStream("example.dat");

Расширение имени файла (.dat) обозначает тип данных, которые хранятся в режиме выходного потока на жестком диске.

2. Создайте связь между объектом FileOutputStream и выходным потоком буфера.

Синтаксис: DataOutputStream DataOutputStream(объект FileOutputStream); Например:

DataOutputStream dout = new DataOutputStream(fout);

3. Примите необходимые данные из консоли одним из двух способов: (a) С помощью streamreader путем импорта java.io . * (b) Использование класса Scanner путем импорта java.util. *

4. Запишите данные во вторичное хранилище с помощью этих команд:

  • Для записи коротких данных введите – <объект>.writeShort<имя переменной>
  • Для записи данных целочисленного типа – <объект>.writeInt<имя переменной>
  • Для записи длинных данных введите – <объект>.writeLong<имя переменной>
  • Для записи данных типа float – <объект>.writeFloat<имя переменной>
  • Для записи данных двойного типа – переменной> переменной>
  • Для записи данных символьного типа – <объект>.writeChar<имя переменной>
  • Для записи данных строкового типа – <объект>.writeUTF<имя переменной>

( UTF расшифровывается как Преобразованный в Юникод формат строка)

5. Закройте файл данных, используя объект FileOutputStream как:

.close();

Примерная программа

Электронный магазин хочет провести инвентаризацию всех типов товаров в двоичном файле “inventory.dat” для ввода названия продукта, кода продукта, количества продукта и цены. Ниже приведена программа для создания двоичного файла для выполнения вышеуказанной задачи.

import java.io.*;
public class sample {
    public static void main(String args[]) throws IOException {
        BufferedReader ob=new BufferedReader(new InputStreamReader(System.in));

        // Creating binary file
        FileOutputStream fout=new FileOutputStream("inventory.dat");
        DataOutputStream dout=new DataOutputStream(fout);

        int n, q, pr;
        String str, pc;
        System.out.println("Enter number of products:");
        n=Integer.parseInt(ob.readLine());
        for(int i=1;i<=n;i++) {
            System.out.println("Enter product name");
            str=ob.readLine();
            System.out.println("Enter product code");
            pc=ob.readLine();
            System.out.println("Enter product quantity");
            q=Integer.parseInt(ob.readLine());
            System.out.println("Enter price");
            pr=Integer.parseInt(ob.readLine());

            // Writing data values from memory to binary file
            dout.writeUTF(str);
            dout.writeUTF(pc);
            dout.writeInt(q);
            dout.writeInt(pr);
        }
        // Closing binary file object
        fout.close();
        dout.close();
        ob.close();
    }
}

Оригинал: “https://dev.to/preetham/writing-data-to-a-binary-file-in-java-45m1”