Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Класс Java ObjectOutputStream

Класс Java ObjectOutputStream

В этом руководстве мы узнаем о Java ObjectOutputStream и его методах с помощью примеров.

ObjectOutputStream класс java.io package можно использовать для записи объектов, которые могут быть прочитаны ObjectInputStream .

Он расширяет OutputStream абстрактный класс.

<час>

Работа ObjectOutputStream

По сути, ObjectOutputStream кодирует объекты Java, используя имя класса и значения объекта. И, следовательно, генерирует соответствующие потоки. Этот процесс называется сериализацией.

Эти преобразованные потоки можно хранить в файлах и передавать по сетям.

Примечание :ObjectOutputStream класс записывает только те объекты, которые реализуют Serializable интерфейс. Это связано с тем, что объекты необходимо сериализовать при записи в поток

<час>

Создать ObjectOutputStream

Чтобы создать поток вывода объекта, мы должны импортировать java.io.ObjectOutputStream пакет первый. Как только мы импортируем пакет, вот как мы можем создать выходной поток.

// Creates a FileOutputStream where objects from ObjectOutputStream are written
FileOutputStream fileStream = new FileOutputStream(String file);

// Creates the ObjectOutputStream
ObjectOutputStream objStream = new ObjectOutputStream(fileStream);

В приведенном выше примере мы создали поток вывода объекта с именем objStream. который связан с потоком вывода файла с именем fileStream .

<час>

Методы ObjectOutputStream

ObjectOutputStream класс предоставляет реализации для различных методов, представленных в OutputStream класс.

Метод записи()

<час>

Пример 1:Java ObjectOutputStream

Давайте посмотрим, как мы можем использовать ObjectOutputStream. для хранения объектов в файле и ObjectInputStream читать эти объекты из файлов

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;

class Main {
    public static void main(String[] args) {

        int data1 = 5;
        String data2 = "This is programiz";

        try {

            FileOutputStream file = new FileOutputStream("file.txt");

            // Creates an ObjectOutputStream
            ObjectOutputStream output = new ObjectOutputStream(file);

            // writes objects to output stream
            output.writeInt(data1);
            output.writeObject(data2);

            // Reads data using the ObjectInputStream
            FileInputStream fileStream = new FileInputStream("file.txt");
            ObjectInputStream objStream = new ObjectInputStream(fileStream);

            System.out.println("Integer data :" + objStream.readInt());
            System.out.println("String data: " + objStream.readObject());

            output.close();
            objStream.close();
        }

        catch (Exception e) {
            e.getStackTrace();
        }
    }
}

Вывод

Integer data: 5
String data: This is programiz

В приведенном выше примере мы использовали readInt() метод и readObject() метод для чтения целочисленных данных и объектных данных из файлов.

Здесь мы использовали ObjectOutputStream для записи данных в файл. Затем мы читаем данные из файла с помощью ObjectInputStream .

<час>

Пример 2:Java ObjectOutputStream

Возьмем другой пример,

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;

class Dog implements Serializable {

    String name;
    String breed;

    public Dog(String name, String breed) {
        this.name = name;
        this.breed = breed;
    }
}

class Main {
    public static void main(String[] args) {

        // Creates an object of Dog class
        Dog dog1 = new Dog("Tyson", "Labrador");

        try {
            FileOutputStream fileOut = new FileOutputStream("file.txt");

            // Creates an ObjectOutputStream
            ObjectOutputStream objOut = new ObjectOutputStream(fileOut);

            // Writes objects to the output stream
            objOut.writeObject(dog1);

            // Reads the object
            FileInputStream fileIn = new FileInputStream("file.txt");
            ObjectInputStream objIn = new ObjectInputStream(fileIn);

            // Reads the objects
            Dog newDog = (Dog) objIn.readObject();

            System.out.println("Dog Name: " + newDog.name);
            System.out.println("Dog Breed: " + newDog.breed);

            objOut.close();
            objIn.close();
        }

        catch (Exception e) {
            e.getStackTrace();
        }
    }
}

Вывод

Dog Name: Tyson
Dog Breed: Labrador

В приведенном выше примере мы создали

Здесь мы затем использовали поток вывода объекта для записи объекта в файл. И поток ввода объекта для чтения объекта из файла.

Примечание :Собака класс реализует Serializable интерфейс. Это потому, что ObjectOutputStream записывает в выходной поток только те объекты, которые могут быть сериализованы.

<час>

Другие методы ObjectOutputStream

Методы Описания
flush() удаляет все данные из выходного потока
drain() помещает все буферизованные данные в выходной поток
close() закрывает выходной поток

Чтобы узнать больше, посетите Java ObjectOutputStream (официальная документация по Java).


java

  1. Окончательное ключевое слово Java
  2. Оператор экземпляра Java
  3. Наследование Java
  4. Вложенный статический класс Java
  5. Анонимный класс Java
  6. Одноэлементный класс Java
  7. Java-отражение
  8. Класс Java ArrayList
  9. Дженерики Java
  10. Класс файла Java