반응형
package dayday18;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.io.Serializable;
/*
* 객체를 파일로 저장할 때 : ObjectOutputStream
* 파일에 저장된 객체를 읽어들일 때 : ObjectInputStream
*
*/
class Person implements Serializable{//Serializable : 객체 직렬화 가능한(스트림으로 전송할 수 있는)
String name;
int age;
Person(String n , int a){
name = n;
age = a;
}
}
public class test04 {
public static void main(String[] args) {
Person p = new Person("피카츄",10);
//피카츄 정보를 info.per에 저장
ObjectOutputStream out;
//ObjectOutputStream 보조 스트림의 일종
//보조스트림 - 기존의 스트림을 빠르게, 편하게 읽어 들이기 위한 스트림, 기존스트림이 있어야 사용 가능
try {
FileOutputStream output = new FileOutputStream("info.per"); //txt로 하면?? 그대로 피카츄와 10이 저장되어 있는것이 아님, 2진data로 header+객체정보등..
//ы sr dayday18.Persona#?$? I ageL namet Ljava/lang/String;xp t ?쇱뭅痢?
//output이라는 주 스트림 생성
out = new ObjectOutputStream(output);
//out 스트림을 output스트림의 보조스트림으로 지정
out.writeObject(p);//NotSerializableException-직렬화 하여 객체를 전달해야함
// + 객체에 implements Serializable 추가
output.close();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
반응형
'IT > Programming' 카테고리의 다른 글
[JAVA] 텍스트파일을MessageDialog으로 출력 (0) | 2023.04.20 |
---|---|
[JAVA] FileInputStream,outputStream 사용 예제 (0) | 2023.04.20 |
[JAVA] 파일 객체정보 읽어들이기 (0) | 2023.04.20 |
[JAVA] 동영상 복사 + 시간경과 사용 예제 (0) | 2023.04.20 |
[JAVA] 객체를 파일로 저장 및 출력 사용 예제 (0) | 2023.04.20 |