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

Kelas Java ObjectInputStream

Kelas Java ObjectInputStream

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

ObjectInputStream kelas java.io package dapat digunakan untuk membaca objek yang sebelumnya ditulis oleh ObjectOutputStream .

Ini memperluas InputStream kelas abstrak.

Sebelum Anda mempelajari tentang ObjectInputStream kelas, pastikan Anda tahu tentang Kelas ObjectOutputStream.


Kerja ObjectInputStream

ObjectInputStream terutama digunakan untuk membaca data yang ditulis oleh ObjectOutputStream .

Pada dasarnya, ObjectOutputStream mengubah objek Java menjadi aliran yang sesuai. Ini dikenal sebagai serialisasi. Aliran yang dikonversi tersebut dapat disimpan dalam file atau ditransfer melalui jaringan.

Sekarang, jika kita perlu membaca objek tersebut, kita akan menggunakan ObjectInputStream yang akan mengubah aliran kembali ke objek yang sesuai. Ini dikenal sebagai deserialisasi.


Buat ObjectInputStream

Untuk membuat aliran input objek, kita harus mengimpor java.io.ObjectInputStream paket dulu. Setelah kita mengimpor paket, berikut adalah cara membuat aliran input.

// Creates a file input stream linked with the specified file
FileInputStream fileStream = new FileInputStream(String file);

// Creates an object input stream using the file input stream
ObjectInputStream objStream = new ObjectInputStream(fileStream);

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

Sekarang, objStream dapat digunakan untuk membaca objek dari file.


Metode ObjectInputStream

ObjectInputStream class menyediakan implementasi dari berbagai metode yang ada di InputStream kelas.

read() Metode


Contoh 1:Java ObjectInputStream

Mari kita lihat bagaimana kita dapat menggunakan ObjectInputStream kelas untuk membaca objek yang ditulis oleh ObjectOutputStream kelas.

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");
            ObjectOutputStream output = new ObjectOutputStream(file);

            // Writing to the file using ObjectOutputStream
            output.writeInt(data1);
            output.writeObject(data2);

            FileInputStream fileStream = new FileInputStream("file.txt");
            // Creating an object input stream
            ObjectInputStream objStream = new ObjectInputStream(fileStream);

            //Using the readInt() method
            System.out.println("Integer data :" + objStream.readInt());

            // Using the readObject() method
            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

Dalam contoh di atas, kami telah menggunakan readInt() 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 ObjectInputStream

Mari kita lihat contoh praktis lainnya,

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 dog = new Dog("Tyson", "Labrador");

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

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

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

            FileInputStream fileStream = new FileInputStream("file.txt");

            // Creates an ObjectInputStream
            ObjectInputStream input = new ObjectInputStream(fileStream);

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

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

            output.close();
            input.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 serial ke aliran output.


Metode ObjectInputStream Lainnya

Metode Deskripsi
available() mengembalikan jumlah byte yang tersedia di aliran input
mark() menandai posisi dalam aliran input hingga data yang telah dibaca
reset() mengembalikan kontrol ke titik di aliran input tempat tanda ditetapkan
skipBytes() melewati dan membuang byte yang ditentukan dari aliran input
close() menutup aliran input objek

Untuk mempelajari lebih lanjut, kunjungi Java ObjectInputStream (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 Java ObjectOutputStream
  9. Java Generik
  10. Kelas File Java