java
이 자습서에서는 예제를 통해 Java ObjectOutputStream 및 해당 메서드에 대해 알아봅니다.
ObjectOutputStream
java.io
클래스 패키지는 ObjectInputStream
에서 읽을 수 있는 개체를 작성하는 데 사용할 수 있습니다. .
OutputStream
확장 추상 클래스.
<시간>
기본적으로 ObjectOutputStream
클래스 이름과 객체 값을 사용하여 Java 객체를 인코딩합니다. 따라서 해당 스트림을 생성합니다. 이 프로세스를 직렬화라고 합니다.
변환된 스트림은 파일에 저장할 수 있고 네트워크 간에 전송할 수 있습니다.
참고 :ObjectOutputStream
클래스는 Serializable
을 구현하는 객체만 작성합니다. 상호 작용. 스트림에 쓰는 동안 개체를 직렬화해야 하기 때문입니다.
객체 출력 스트림을 생성하려면 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
클래스는 OutputStream
에 있는 다양한 메서드에 대한 구현을 제공합니다. 수업.
write()
- 출력 스트림에 데이터 바이트를 씁니다.writeBoolean()
- 부울 형식으로 데이터를 씁니다.writeChar()
- 문자 형식으로 데이터를 씁니다.writeInt()
- 정수 형식으로 데이터를 씁니다.writeObject()
- 출력 스트림에 객체를 씁니다.
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
을 사용하여 파일에서 데이터를 읽습니다. .
다른 예를 들어 보겠습니다.
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
위의 예에서 우리는
ObjectOutputStream
objOut이라는 이름의 FileOutputStream
사용 fileOut이라는 이름의 ObjectInputStream
이름이 objIn FileInputStream
사용 fileIn이라는 이름의 .여기에서 객체 출력 스트림을 사용하여 객체를 파일에 씁니다. 그리고, 파일에서 객체를 읽어오는 객체 입력 스트림입니다.
참고 :개 클래스는 Serializable
을 구현합니다. 상호 작용. ObjectOutputStream
때문입니다. 출력 스트림에 직렬화할 수 있는 개체만 씁니다.
메소드 | 설명 |
---|---|
flush() | 출력 스트림의 모든 데이터를 지웁니다. |
drain() | 버퍼링된 모든 데이터를 출력 스트림에 넣습니다. |
close() | 출력 스트림을 닫습니다 |
자세한 내용은 Java ObjectOutputStream(공식 Java 설명서)을 참조하십시오.
java
자바 작성기 클래스 이 자습서에서는 예제를 통해 Java Writer, 해당 하위 클래스 및 메서드에 대해 알아봅니다. Writer java.io 클래스 패키지는 문자 스트림을 나타내는 추상 슈퍼클래스입니다. Writer 이후 추상 클래스이므로 그 자체로는 유용하지 않습니다. 그러나 하위 클래스를 사용하여 데이터를 쓸 수 있습니다. 작가의 하위 클래스 Writer의 기능을 사용하려면 , 우리는 그 하위 클래스를 사용할 수 있습니다. 그 중 일부는 다음과 같습니다. BufferedWriter OutputStreamWriter
자바 파일 리더 클래스 이 자습서에서는 예제를 통해 Java FileReader와 그 방법에 대해 알아봅니다. FileReader java.io 클래스 패키지는 파일에서 데이터(문자)를 읽는 데 사용할 수 있습니다. InputSreamReader를 확장합니다. 수업. FileReader에 대해 알아보기 전에 , Java 파일에 대해 알고 있는지 확인하십시오. FileReader 만들기 파일 리더를 생성하려면 java.io.FileReader을 가져와야 합니다. 먼저 패키지. 패키지를 가져온 후 파일 판독기를 만드는 방법