A, 속성 *** 속성은 클래스 파일 (키 - 값 쌍 컨테이너)에 따라 달라집니다.
생성자 : 속성 ();
일반적인 방법을 : 등록 정보 (키, 값) .put 객체 // 설정 값의
속성 .getProperty (문자열 객체 ) 키; // 값의 수
속성 .load 객체 (의 InputStream이다). 로딩에 // 파일이 *** 속성 속성 객체
속성 .store (의 OutputStream을 객체, 문자열 STR은 (두 번째 매개 변수 값 주석)); // 속성은 ***로 출력 할 객체. 프로퍼티 파일
둘째, 직렬화 및 역 직렬화 스트림의 흐름을
1 류의 서열 (ObjectOutputStream에)
생성자 : ObjectOutputStream의 (FileOutputStream에의 FOS)
일반적으로 사용되는 방법 :의 writeObject (오브젝트 OBJ);
2 역류 시퀀스 (ObjectIntputStream는)
생성자 : ObjectIntputStream (FileIntputStream의 FIS)는
일반적으로 사용되는 방법 : reafObject ()
이 필드의 순서가 될 수있다 할 필요는 Serializable 인터페이스를 구현해야합니다 직렬화 및 역 직렬화 컬럼 할 필요가 과도 변형 예 ( 개인 과도의 INT의 나이)
1 공용 클래스 사람 구현 직렬화 { 2 개인 문자열 이름; 3 개인 INT의 시대; 4 공공 문자열 getName () { 5 반환 이름; 6 } 7 공개 공극 에서는 setName (문자열 이름) { 8 이 .name을 = 이름; 9 } 10 공공 INT의 getAge () { 11 반환 시대; 12 } 13 공공 공극 setAge ( INT세) { (14) 이 .age = 나이; 15 } 16 @Override 17 공공 문자열 toString () { 18 반환 "인 [이름 ="이름 + + ", 나이 ="+ 나이 + "]" ; 19 } 20 공공 사람 (문자열 이름, INT의 나이) { 21 초 (); 22 이 .name을 = 이름; (23) 이 .age = 나이; 24 } 25 26 공공 사람 () { 27 초 (); (28) } 29 30 }
1 // 직렬화 2 개인 무효 쓰기 () 던져 IOException가 { 3. 인격 P = 새로운 새로운 인격 ( "빨간 망토", 18 ); 4 // 데이터 소스를 취소 5. FileOutputStream 또는의 FOS = 새로운 새로운 FileOutputStream 또는 ( "D : \\ \\ demo0723 인격 "이 .txt ) . 6 // 직렬화 된 스트림을 생성 . 7 ObjectOutputStream로 OOS = 새로운 새 ObjectOutputStream로 (FOS) . 8 . 9 // 물품 10 oos.writeObject (P)를] . 11 oos.close ()을, 12은 } 13은 14 @ 직렬화 15 공공 정적 무효 읽기 () 가 발생 {IOException이, ClassNotFoundException가를 16 //는 데이터 소스 클리어 . 17 FileInputStream의 FIS는 = 새로운 새 FileInputStream에 ( "D : \\ \\ Person.txt demo0723" ); 18이다 // 다시 직렬화 스트림을 생성 (19). ObjectInputStream를 OIS는 = 새로운 새 ObjectInputStream를 (FIS) 20 인 // person.txt로부터 판독 21이 // Boolean 데이터 유형 B = instanceof는 오브젝트; 22 // 이용시 = P (인) ois.readObject (); 23 24 부울 B = ois.readObject () instanceof는 사람; 25 에서 System.out.println (b); 26 (27) // 에서 System.out.println (p); 28 ois.close (); 29 }