기록하는 중/JAVA

[Java] FileChannel 클래스 - java.nio

성장하는 요롱이 2024. 1. 9. 01:27
  FileChannel 클래스
  • java.io 패키지의 파일 관련 입출력 스트림을 대체
  • java.nio.channels 패키지에 존재
  • 파일에 대한 읽기와 쓰기를 모두 제공
  • 멀티 스레드 환경에서도 안전하게 사용할 수 있응ㅁ
  • 읽기와 쓰기 메소드
  • int read(ByteBuffer dst), int write(ByteBuffer src)

 

  FileChannel 객체의 생성 방법
  • FileChannel.open(Path path, OpenOption ... options)
  • FileInputStream 이나 RandomAccessFile 객체에서 getChannel( )
  • FileChannel 객체의 생성에 사용되는 옵션 값
StandardOpenOption값 의 미
READ 읽기용으로 파일을 연다.
WRITE 쓰기용으로 파일을 연다.
CREATE 쓰기용으로 파일을 여는데, 없다면 생성
CREATE_NEW 새 파일을 생성
이미 파일이 있으면 생성되지 않음
APPEND WRITE와 함꼐 사용되어 기존 파일에 내용을 추가
DELETE_ON_CLOSE 채널을 닫을 때 해당 파일이 삭제
TRUNCATE_EXISTING WRITE와 함께 사용되어 기존 파일의 크기를 0으로 만듬