Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- autowired
- 블록체인
- AWS
- Spring
- websocket
- 웹소켓
- PL/SQL
- JSP
- CSS
- 웹게임
- phaser
- 알고리즘
- 암호화
- 도커
- Ajax
- model1
- docker
- express
- HTML
- Cookie
- tiles.xml
- jQuery
- 비트코인
- SQL
- JavaScript
- 배포
- Servlet
- RDS
- node.js
- EC2
Archives
- Today
- Total
記錄
JAVA) 직렬화 본문
/*
* 객체를 네트워크, 파일, 프로세스 간에 통신하기 위해 필요한 것이 직렬화다
*
* 직렬화는 객체를 분해해서 말 그대로 줄을 세워서 보내는 과정이다
* 객체를 문자열로 바꿔서 문자열을 직렬로 전송하는 것이다 (객체 -> 문자열)
*
* 반대로 받는 쪽에서는 분해되어 받았기 때문에 데이터를 활용하려면 역직렬화가 필요하다
* 직렬로 받은 문자열을 다시 객체로 전환하는 것이 역직렬화다 (문자열 -> 객체)
*
*/
public class UserInfo implements Serializable {
public String name;
public String pwd;
public int age;
public UserInfo() {}
public UserInfo(String name , String pwd , int age) {
this.name = name;
this.pwd = pwd;
this.age = age;
}
@Override
public String toString() {
return "UserInfo [name=" + name + ", pwd=" + pwd + ", age=" + age + "]";
}
}
import java.io.*;
import kr.or.bit.UserInfo;
public class Ex15_ObjectDataOutPutStream {
public static void main(String[] args) {
String file = "UserInfo.txt";
FileOutputStream fos = null;
BufferedOutputStream bos = null;
ObjectOutputStream oos = null;
try {
fos = new FileOutputStream(file);
bos = new BufferedOutputStream(fos);
oos = new ObjectOutputStream(bos);
UserInfo u1 = new UserInfo("홍길동", "1234", 25);
UserInfo u2 = new UserInfo("JK", "999", 30);
oos.writeObject(u1);
oos.writeObject(u2);
} catch (Exception e) {
} finally {
try {
oos.close();
bos.close();
fos.close();
} catch (Exception e2) {
}
}
} // end - main
} // end - class
import java.io.*;
import kr.or.bit.UserInfo;
import java.util.*;
public class Ex16_ObjectDataInPutStream {
public static void main(String[] args) {
FileInputStream fis = null;
BufferedInputStream bis = null;
ObjectInputStream ois = null;
String file = "UserInfo.txt";
ArrayList<UserInfo> list = new ArrayList();
try {
fis = new FileInputStream(file);
bis = new BufferedInputStream(fis);
ois = new ObjectInputStream(bis);
//.readObject() 자체가 next기능을 가지고 있다
UserInfo test1 = (UserInfo) ois.readObject();
UserInfo test2 = (UserInfo) ois.readObject();
System.out.println(test1.toString());
System.out.println(test2.toString());
} catch (Exception e) {
} finally {
try {
ois.close();
bis.close();
fis.close();
} catch (Exception e2) {
}
}
} // end - main
} // end - class
'Computer language > JAVA' 카테고리의 다른 글
JAVA) HashMap의 value들을 ArrayList에 넣기 (0) | 2018.02.21 |
---|---|
JAVA) Thread (0) | 2018.02.20 |
JAVA) CMD내 TREE 기능 구현 (0) | 2018.02.19 |
JAVA) Map.Entry와 entrySet() (1) | 2018.02.14 |
JAVA) Stream (0) | 2018.02.14 |
Comments