1. java.nio 패키지
: NIO는 'New Input Output의 약자'
-> 기존 java.io 패키지를 개선한 새로운 입출력 패키지
: JDK 7부터는 파일 I/O를 개선한 NIO2도 등장
-> java.nio와 그것의 서브 패키지 형태
*java.nio.file, java.nio.channels, java.nio.charset 등
-> File 클래스보다 다양한 기능을 제공하는 Path
-> Files의 static 메소드를 통한 파일/디렉터리의 조작, 파일의 읽기/쓰기
-> 파일 입력과 파일 출력이 모두 가능한 FileChannel 클래스
*버퍼링 기능, 멀티스레드에 안전
-> 비동기식 파일 입출력을 위한 AsynchronousFileChannel 클래스
*non-blocking 방식 파일 입출력
2. Path 인터페이스
: java.nio.file 패키지에 존재하며 java.io.File 클래스를 대신함
: 파일시스템에 존재하는 파일이나 디렉터리에 해당하는 경로를 표현
*절대 경로 또는 상대 경로로 표현됨
: 경로의 생성, 경로의 비교, 경로 정보 추출, 경로 요소 조작 기능 등을 제공
: java.nio.file.Files 클래스의 static 메소드를 이용해 Path 객체에 대한 다양한 실제 조작(생성, 읽기, 쓰기, 복사, 이동 등)이 가능함
: Path 객체의 생성 방법
*Path p = Pathes.get("C:\\tmp\\foo");
*파일이나 디렉터리의 절대 또는 상대 경로를 명시해야 함
3. Path 인터페이스의 메소드
4. Path 인터페이스의 사용 예
5. FileSystem 클래스와 FileStore 클래스
-FileSystem 클래스의 메소드
:FileSystem은 파일 시스템에 대한 인터페이스를 제공
*FileSystems.getDefault()은 기본 파일 시스템을 리턴함
:Iterable <FileStore> getFileStores()
*하나 이상의 파일 스토어로 구성됨
: WatchService newWatchService()
-FileStore 클래스의 메소드
: FileStore는 저장소(파티션 또는 볼륨)를 표현함
: String name(), String type()
: long getTotalSpace(),
: long getUnallocatedSpace(), long getUsableSpace()
6. FileSystem과 FileStore 클래스의 사용 예
7. Files 클래스
: 파일 조작 기능을 제공하는 static 메소드를 제공함
*메소드는 Path 객체를 인자로 가지고 작업함
: 파일의 읽기와 쓰기 메소드
*byte[] readAllBytes(Path), Path write(Path, byte[])
: 파일이나 디렉터리의 검사/생성/삭제/복사/이동/속성관리 메소드
8. Files 클래스의 사용 예
'방통대 > Java' 카테고리의 다른 글
[Java] 10-3 FileChannel 클래스 (0) | 2024.04.26 |
---|---|
[Java] 10-2 버퍼 (2) | 2024.04.26 |
[Java] 9강. java.io 패키지와 스트림 연습 문제 (0) | 2024.04.19 |
[Java] 9-4 콘솔 입출력과 보조 스트림 (2) | 2024.04.19 |
[Java] 9-3 파일 입출력 (0) | 2024.04.19 |