java
이 자습서에서는 예제를 통해 Java ObjectOutputStream 및 해당 메서드에 대해 알아봅니다.
ObjectInputStream
java.io
클래스 패키지는 이전에 ObjectOutputStream
로 작성된 객체를 읽는 데 사용할 수 있습니다. .
InputStream
확장 추상 클래스.
ObjectInputStream
에 대해 알아보기 전에 클래스, ObjectOutputStream 클래스에 대해 알고 있는지 확인하십시오.
ObjectInputStream
주로 ObjectOutputStream
로 작성된 데이터를 읽는 데 사용됩니다. .
기본적으로 ObjectOutputStream
Java 객체를 해당 스트림으로 변환합니다. 이것을 직렬화라고 합니다. 변환된 스트림은 파일에 저장하거나 네트워크를 통해 전송할 수 있습니다.
이제 해당 객체를 읽어야 하는 경우 ObjectInputStream
을 사용합니다. 스트림을 해당 객체로 다시 변환합니다. 이것을 역직렬화라고 합니다.
객체 입력 스트림을 생성하려면 java.io.ObjectInputStream
을 가져와야 합니다. 먼저 패키지. 패키지를 가져온 후 입력 스트림을 만드는 방법은 다음과 같습니다.
// 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);
위의 예에서 objStream이라는 객체 입력 스트림을 만들었습니다. fileStream이라는 파일 입력 스트림과 연결된 .
이제 objStream
파일에서 개체를 읽는 데 사용할 수 있습니다.
ObjectInputStream
클래스는 InputStream
에 있는 다양한 메서드의 구현을 제공합니다. 수업.
read()
- 입력 스트림에서 데이터 바이트를 읽습니다.readBoolean()
- 부울 형식으로 데이터를 읽습니다.readChar()
- 문자 형식으로 데이터를 읽습니다.readInt()
- 정수 형식으로 데이터를 읽습니다.readObject()
- 입력 스트림에서 개체를 읽습니다.
ObjectInputStream
를 사용하는 방법을 살펴보겠습니다. ObjectOutputStream
로 작성된 객체를 읽는 클래스 수업.
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();
}
}
}
출력
Integer data: 5 String data: This is programiz
위의 예에서는 readInt()
를 사용했습니다. 및 readObject()
파일에서 정수 데이터 및 개체 데이터를 읽는 방법입니다.
여기에서는 ObjectOutputStream
을 사용했습니다. 파일에 데이터를 씁니다. 그런 다음 ObjectInputStream
를 사용하여 파일에서 데이터를 읽습니다. .
또 다른 실제 예를 살펴보겠습니다.
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();
}
}
}
출력
Dog Name: Tyson Dog Breed: Labrador
위의 예에서 우리는
ObjectOutputStream
명명된 출력 FileOutputStream
사용 명명된 파일 ObjectInputStream
명명된 입력 FileInputStream
사용 fileStream이라는 이름의 여기에서 객체 출력 스트림을 사용하여 객체를 파일에 씁니다. 그리고, 파일에서 객체를 읽어오는 객체 입력 스트림입니다.
참고 :개 클래스는 Serializable
을 구현합니다. 상호 작용. ObjectOutputStream
때문입니다. 직렬화 가능한 개체만 출력 스트림에 씁니다.
메소드 | 설명 |
---|---|
available() | 입력 스트림에서 사용 가능한 바이트 수를 반환합니다. |
mark() | 데이터를 읽은 입력 스트림의 위치를 표시 |
reset() | 표시가 설정된 입력 스트림의 지점으로 컨트롤을 반환합니다. |
skipBytes() | 입력 스트림에서 지정된 바이트를 건너뛰고 버립니다. |
close() | 객체 입력 스트림을 닫습니다 |
자세한 내용은 Java ObjectInputStream(공식 Java 설명서)을 참조하십시오.
java
자바 작성기 클래스 이 자습서에서는 예제를 통해 Java Writer, 해당 하위 클래스 및 메서드에 대해 알아봅니다. Writer java.io 클래스 패키지는 문자 스트림을 나타내는 추상 슈퍼클래스입니다. Writer 이후 추상 클래스이므로 그 자체로는 유용하지 않습니다. 그러나 하위 클래스를 사용하여 데이터를 쓸 수 있습니다. 작가의 하위 클래스 Writer의 기능을 사용하려면 , 우리는 그 하위 클래스를 사용할 수 있습니다. 그 중 일부는 다음과 같습니다. BufferedWriter OutputStreamWriter
자바 파일 리더 클래스 이 자습서에서는 예제를 통해 Java FileReader와 그 방법에 대해 알아봅니다. FileReader java.io 클래스 패키지는 파일에서 데이터(문자)를 읽는 데 사용할 수 있습니다. InputSreamReader를 확장합니다. 수업. FileReader에 대해 알아보기 전에 , Java 파일에 대해 알고 있는지 확인하십시오. FileReader 만들기 파일 리더를 생성하려면 java.io.FileReader을 가져와야 합니다. 먼저 패키지. 패키지를 가져온 후 파일 판독기를 만드는 방법