工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> Java

Java ObjectOutputStream クラス

Java ObjectOutputStream クラス

このチュートリアルでは、例を使用して Java ObjectOutputStream とそのメソッドについて学習します。

ObjectOutputStream java.io のクラス パッケージを使用して、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 に存在するさまざまなメソッドの実装を提供します クラス。

write() メソッド


例 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. JavaArrayList クラス
  9. Java スタック クラス
  10. Javaジェネリック
  11. Java ファイル クラス