레이블이 directory인 게시물을 표시합니다. 모든 게시물 표시
레이블이 directory인 게시물을 표시합니다. 모든 게시물 표시

2013년 9월 13일 금요일

자바7 NIO.2 - 내용정리 4장

chapter 4. 파일과 디렉토리
4장의 주요 내용
  • 각종 검사 (읽기,쓰기,실행,일반 파일,숨김)
  • 디렉토리 목록 보기,생성,읽기
  • 파일시스템 루트의 목록을 보기
  • 디렉토리 와 임시디렉토리 생성
  • newDirectoryStream() 메소드를 사용한 디렉토리 내용 나열 하기
  • 버퍼 스트림 과 비버퍼 스트림
  • 삭제 , 복사 ,이동
  • 이전 Java6에 비해 많은 부분이 ‘재디자인' 됌


4.1 파일과 디렉토리를 위한 검사 메소드

  • exists() : 파일 있는지 여부를 검사
  • notExists() : 파일 없는지 여부를 검사
주의 : !exists() == notExists()와 동등 하지 않는다. 또한 두 메서드다 false 반환 하는 경우 상태를 알수 없는 경우 이다. 예를 들면 파일에 접근 권한이 없는 경우


스트림 방식
  • 비버퍼 스트림 - 각각의 읽기 요청이나 쓰기 요청은 기반 운영체제에서 바로 처리
  • 버퍼 스트림 - 버퍼로 알려진 메모리 영역에서 데이터 작업 한 후 버퍼가 비었거나 버퍼가 꽉 찼을 때만 Native API를 호출 한다.


Glob 패턴
  • * : 0개 이상의 문자
  • ** : * 과 비슷하지만, 디렉토리의 경계를 넘을 수 있음.
  • ? : 정확하게 1 문자
  • { } : 콤마로 나뉜 하위 패턴의 컬렉션. 예) {A,B,C}는 A,B,C와 일치함.
  • [ ] : 대체할 문자 집합 표현 한다. - 문자를 사용하면 문자의 범위를 표현한다.
  • [ ] 내부에서 *,?,\ 는 문자 그대로 매칭
  • 이외의 문자는 모두 문자 그래로 매칭
  • *, ?를 비롯한 특수 문자와 일치하는 것을 찾으려면 역슬래시 문자를 사용해서 이스케이프 해야 한다.
  • \\는 \문자 하나와 매칭하면, \?는 ?문자 하나와 매칭한다.


StandardOpenOption 종류
옵션
설명
READ
읽기용으로 파일을 연다.
WRITE
쓰기용으로 파일을 연다.
CREATE
파일이 없다면 새 파일을 생성한다.
CREATE_NEW
새 파일을 만든다. 파일이 이미 있으면 예외와 함께 실패한다.
APPEND
파일 끝에 데이터를 추가한다(WRITE나 CREATE와 함께 사용됨)
DELETE_ON_CLOSE
스트림을 닫을 때 파일을 삭제한다(임시파일을 삭제할 때 사용)
TRUNCATE_EXISTING
파일을 0바이트로 잘라낸다(WRITE 옵션과 함께 사용됨)
SPARSE
새로 생성하는 파일이 희소(sparse)할 수 있다?
SYNC
파일 내용과 메타 데이터를 기반 저장소 디바이스와 동기화 한다.
DSYNC
파일 내용을 기반 저장소와 동기화 한다.


라인 종결 문자

  • \u000D\u000A : 캐리지 리턴 + 라인 피드
  • \u000A : 라인 피드
  • \u000D : 캐리지 리턴

- 참고 문헌 : 한빛미디어 , 자바7 NIO.2 파일&네트워크 프로그램밍