Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Kelas Java ObjectOutputStream

Kelas Java ObjectOutputStream

Dalam tutorial ini, kita akan belajar tentang Java ObjectOutputStream dan metodenya dengan bantuan contoh.

ObjectOutputStream kelas java.io package dapat digunakan untuk menulis objek yang dapat dibaca oleh ObjectInputStream .

Ini memperluas OutputStream kelas abstrak.


Bekerja ObjectOutputStream

Pada dasarnya, ObjectOutputStream mengkodekan objek Java menggunakan nama kelas dan nilai objek. Dan, karenanya menghasilkan aliran yang sesuai. Proses ini dikenal sebagai serialisasi.

Aliran yang dikonversi tersebut dapat disimpan dalam file dan dapat ditransfer antar jaringan.

Catatan :ObjectOutputStream class hanya menulis objek yang mengimplementasikan Serializable antarmuka. Ini karena objek perlu diserialisasikan saat menulis ke aliran


Buat ObjectOutputStream

Untuk membuat aliran keluaran objek, kita harus mengimpor java.io.ObjectOutputStream paket dulu. Setelah kita mengimpor paket, berikut adalah bagaimana kita dapat membuat aliran keluaran.

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

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

Dalam contoh di atas, kami telah membuat aliran keluaran objek bernama objStream yang ditautkan dengan aliran keluaran file bernama fileStream .


Metode ObjectOutputStream

ObjectOutputStream class menyediakan implementasi untuk berbagai metode yang ada di OutputStream kelas.

menulis() Metode


Contoh 1:Java ObjectOutputStream

Mari kita lihat bagaimana kita dapat menggunakan ObjectOutputStream untuk menyimpan objek dalam file dan ObjectInputStream untuk membaca objek tersebut dari file

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();
        }
    }
}

Keluaran

Integer data: 5
String data: This is programiz

Pada contoh di atas, kita telah menggunakan readInt() metode dan readObject() metode untuk membaca data integer dan data objek dari file.

Di sini, kami telah menggunakan ObjectOutputStream untuk menulis data ke file. Kami kemudian membaca data dari file menggunakan ObjectInputStream .


Contoh 2:Java ObjectOutputStream

Mari kita ambil contoh lain,

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();
        }
    }
}

Keluaran

Dog Name: Tyson
Dog Breed: Labrador

Pada contoh di atas, kami telah membuat

Di sini, kami kemudian menggunakan aliran keluaran objek untuk menulis objek ke file. Dan, aliran input objek untuk membaca objek dari file.

Catatan :Anjing kelas mengimplementasikan Serializable antarmuka. Itu karena ObjectOutputStream hanya menulis objek yang dapat diserialkan ke aliran keluaran.


Metode ObjectOutputStream Lainnya

Metode Deskripsi
flush() menghapus semua data dari aliran keluaran
drain() menempatkan semua data buffer di aliran output
close() menutup aliran keluaran

Untuk mempelajari lebih lanjut, kunjungi Java ObjectOutputStream (dokumentasi resmi Java).


java

  1. Kata kunci terakhir Java
  2. Instance Java dari Operator
  3. Warisan Jawa
  4. Kelas Statis Bersarang Java
  5. Kelas Anonim Java
  6. Kelas Tunggal Jawa
  7. Refleksi Jawa
  8. Kelas Daftar Array Java
  9. Java Generik
  10. Kelas File Java