자바 입출력(I/O) 라이브러리의 위력과 정교함을 보여주는 첫번째 책이다. 자바 1.0에 비해 자바 1.1 이후 버전에서는 압축, 암호화, 전자 서명, 객체 직렬화, 인코딩 변환 등 I/O 관련 작업을 수행하기 위해 많은 새로운 클래스를 라이브러리에 추가했다.
이 책에서는 자바가 지원하는 다양한 I/O 관련 기능의 사용법을 보여준다. 또한 자바만의 특징인 필터 기반의 I/O 접근방식을 이해할 수 있으며, 암호화 데이터를 위한 CipherInputStream과 압축 데이터를 위한 ZipOutPutStream 그리고 I/O 작업 효율을 높이기 위한 버퍼 스트림의 효과적인 사용방법 등을 익힐 수 있다.
이 책 전반에 걸친 파일 뷰어 프로젝트는 실습을 통해 I/O의 다양한 특성을 독자들이 쉽게 이해할 수 있도록 도와준다. 객체 지향 프로그래밍의 인스턴스, 객체 클래스 등 용어 차이를 이해하고 있다고 가정하는 등 자바에 대한 기본사항은 알고 있는 독자를 대상으로 서술된 책이다.
주요 내용
파일 읽기와 쓰기
데이터 필터링
쓰레드간의 데이터 전달
스트림에 대한 전자 서명 계산하기
스트림에 객체 쓰기
정수와 부동 소수점 숫자를 문자열로 포맷하기
프린터 및 다른 병렬포트 디바이스에 직접 교신하기
다양한 문자 집합에 있는 비영어권 텍스트 읽기와 쓰기
네트워크 커넥션을 통한 통신
데이터 암호화와 해독
데이터 압축과 압축풀기
사용자가 그래픽 인터페이스에서 파일 선택하기
모뎀 및 다른 직렬 포트 디바이스에 직접교신하기
파일과 디렉토리 복사, 이동, 이름변경, 정보 가져오기
다양한 문자 집합에 있는 비영어권 텍스트 읽기와 쓰기
저자
목차
1부. I/O의 기본 개념
1. I/O에 대한 소개
스트림이란 무엇인가?
수치 데이터
문자 데이터
Reader와 Writer
흔히 발생하는 IOException
콘솔 : System.out, System.in, System.err
I/O에 대한 보안 체크
2. 출력 스트림 OutputStream 클래스
출력 스트림에 바이트 데이터 쓰기
바이트 배열 쓰기
출력 스트림의 플러싱과 닫기
OutputStream 클래스의 서브클래싱
출력 스트림을 위한 그래픽 사용자 인터페이스
3. 입력 스트림 InputStream 클래스
read() 메쏘드
스트림으로부터 많은 양의 데이터 읽어오기
스트림에서 읽어올 수 있는 바이트 계산
바이트 스킵하기
입력 스트림 닫기
마킹과 리세팅
InputStream의 서브클래싱
효율적인 스트림 복사기
2부. 데이터 소스
4. 파일 스트림
파일 읽기
파일 쓰기
파일 뷰어, Part 1
5. 네트워크 스트림
URL
URL 커넥션
소 켓
서버 소켓
URL viewer
3부. 필터 스트림
6. 필터 스트림
필터 스트림 클래스
필터스트림 서브클래스
버퍼 스트림
PushbackInputStream
프린트 스트림
다중타겟 출력 스트림
파일 뷰어, Part 2
7. 데이터 스트림
데이터 스트림 클래스
정수형 읽기와 쓰기
부동 소수점 숫자 읽기와 쓰기
Boolean 읽기와 쓰기
바이트 배열 읽기
텍스트 읽기와 쓰기
텍스트 읽기와 쓰기
여러가지 메쏘드
Little-Endian 읽기와 쓰기
쓰레드 안전성
파일 뷰어, Part 3
8. 메모리상의 스트림
시퀀스 입력 스트림
바이트 배열 스트림
쓰레드와 파이프 스티림 간의 통신
9. 압축스트림
인플레이터와 디플레이터
압축 스트림과 압축풀기 스트림
Zip 파일로 작업하기
체크섬
JAR 파일
파일 뷰어, Part 4
10. 암호스트림
해시 함수 기초
MessageDigest 클래스
다이제스트 스트림
암호화 기초
Cipher 클래스
Cipher 스트림
파일 뷰어, Part 5
4부. 고급과 여러 가지 주제
11. 객체 직렬화
객체 읽고 쓰기
객체 스트림
객체 직렬화의 수행
성 능
Serializable 인터페이스
ObjectInput 과 ObjectOutput 인터페이스
버전 관리
직렬화 포맷 커스터마이징
클래스 분석
객체 분석
검 증
Sealed 객체
12. 파일 다루기
파일에 대한 이해
디렉토리와 경로
File 클래스
파일이름 필터
파일 필터
파일 디스크립터
랜덤 액세스 파일
크로스 플랫폼 파일 액세스 코드에 대한 일반적인 기술
13. 파일 다이얼로그와 선택기
파일 다어얼로그
JFileChooser
파일 뷰어, Part 6
14. 다중 언어 문자 집합과 유니코드
유니 코드
유니 코드 텍스트 디스플레이
유니 코드 이스케이프
UTF-8
char 데이터 타입
기타 인코딩
바이트 배열과 문자열 사이의 변환
15. Reader와 Writer
java.io.Writer 클래스
OutputStreamWriter 클래스
java.io.Reader 클래스
InputStreamReader 클래스
문자 배열 Reader와 Writer
문자열 Reader와 Writer
파일 읽고 쓰기
버퍼 Reader와 Writer
프린트 Writer
파이프 Reader와 Writer
필터 Reader와 Writer
파일 뷰어, 마지막
16. java.text를 사용한 포맷된 I/O
이전의 방식
Locale 선택하기
숫자 포맷
FieldPosition으로 길이 지정하기
입력 파싱
십진수 포맷
지수 숫자 포맷
17. 자바 커뮤니케이션 API
자바 커뮤니케이션의 API의 아키텍쳐
포트 인식
포트 디바이스와 통신
직렬 포트
병렬 포트