CodeGym
프로모션
학습
강좌
과제
설문 & 퀴즈
게임
도움말
일정
커뮤니티
사용자
포럼
채팅
아티클
성공 사례
활동
후기
구독
라이트 테마

강의

  • 리뷰
  • 회사 소개
시작
학습 시작
Start learning now
  • 진행 상황
  • 코스
  • 퀘스트 맵
  • 레슨
  • 파일 시스템 권한과 접근

    JAVA 25 SELF
    레벨 38,레슨 3
    이 강의에서는 운영 체제(OS)가 권한을 어떻게 관리하는지(POSIX 및 Windows의 ACL), Java에서 예외 AccessDeniedException이 왜 발생하는지, Files.isReadable(), Files.isWritable(), Files.isExecutable() 검사를 언제 어떻게 사용할지, 그리고 TOCTOU가 왜 위험한지 다룹니다. 또한 “안전한 쓰기” 패턴을 보여 줍니다: 임시 파일 + StandardCopyOption.ATOMIC_MOVE를 통한 원자적 이동, try- catch로 올바르게 오류를 처리하고 로깅( java.util.logging)을 수행합니다. 마지막에는 실용적인 팁과 흔한 실수를 정리합니다.
    사용 가능
  • 파일 작업을 위한 모범 사례

    JAVA 25 SELF
    레벨 38,레슨 4
    Java에서 파일 시스템을 신뢰성 있고 안전하게 다루기 위한 실용 가이드: 예외의 올바른 처리( try/ catch, IOException, AccessDeniedException 등 상황별 대응), Files/ Path API의 신중한 사용과 백업( Files.copy + StandardCopyOption.REPLACE_EXISTING), 임시 파일( Files.createTempFile), 무결성 검사( MessageDigest.getInstance( "SHA-256")), 그리고 TOCTOU 창 최소화와 try-with-resources의 광범위한 적용. 왜 빈 catch가 위험한지, 권한( File.canRead()/ File.canWrite())을 어떻게 다루는지, 그리고 File( "data.txt") 같은 상대 경로가 어떤 위험을 초래하는지도 알게 됩니다.
    사용 가능
  • NIO2: Files, Paths, Files.walk: 파일 시스템 순회

    JAVA 25 SELF
    레벨 39,레슨 0
    파일 API NIO2에 대한 심층 분석: Path로 경로를 다루고 Files 유틸리티를 사용하는 방법, Files.walk와 FileVisitor 인터페이스로 디렉터리 트리를 순회하는 법, 필터링과 검색, 크기 합산과 복사, try-with-resources와 IOException 처리. 오래된 File API와 비교하고, Stream<Path> 스트림을 다룰 때의 대표적인 실수를 살펴봅니다.
    사용 가능
  • File, Path, Files 클래스: 파일 정보 가져오기

    JAVA 25 SELF
    레벨 39,레슨 1
    파일 작업 API에 대한 간결하고 실용적인 개요: 베테랑 File부터 최신 Path와 Files까지( java.nio.file 패키지). 존재 여부, 타입(파일/디렉터리), 크기, 경로, 기본 속성과 권한을 확인해 봅니다. 언제 그리고 왜 Path/ Files를 선호해야 하는지, IOException을 올바르게 처리하는 방법, 그리고 실무에서 자주 발생하는 오류를 보여드립니다.
    사용 가능
  • 글로빙/PathMatcher, DirectoryStream.Filter

    JAVA 25 SELF
    레벨 39,레슨 2
    NIO2에서 파일 선택에 관한 실습 강의: glob과 regex를 비교하고, PathMatcher 사용법을 익히며, Files.newDirectoryStream과 DirectoryStream.Filter<Path>로 디렉터리 내용을 필터링하고, Files.walk()로 재귀 검색, Files.find()와 BiPredicate<Path, BasicFileAttributes>로 조건부 선택을 수행합니다. 또한 패턴의 포인트( "**/*.java", "*.{png,jpg}"), 성능, 리소스 닫기와 관련된 흔한 실수도 다룹니다.
    사용 가능
  • FileVisitor — 파일 시스템 순회와 재귀 작업

    JAVA 25 SELF
    레벨 39,레슨 3
    이 강의에서는 Java에서 파일 시스템을 고급 방식으로 순회하는 방법을 살펴봅니다: 스트림 기반 Files.walk()와 이벤트 기반 API Files.walkFileTree()의 차이, FileVisitor<T> 계약과 편의 어댑터 SimpleFileVisitor<T>의 동작, FileVisitResult가 반환하는 선택지( CONTINUE, SKIP_SUBTREE, SKIP_SIBLINGS, TERMINATE), 올바른 재귀 삭제, 크기 집계, 마스크 기반 검색과 오류 처리 방법, 그리고 실무에서 흔히 발생하는 실수들을 다룹니다.
    사용 가능
  • 파일 속성 가져오기 및 변경

    JAVA 25 SELF
    레벨 39,레슨 4
    API java.nio.file.attribute를 통해 파일 메타데이터를 다루는 실전 가이드: Files.readAttributes와 BasicFileAttributes로 기본 속성을 읽고, PosixFileAttributes와 DosFileAttributes로 확장된 POSIX/ DOS 속성을 살펴보며, 시간과 권한을 변경합니다( FileTime, PosixFilePermissions, Files.setLastModifiedTime, Files.setAttribute). 또한 접근성 검사( Files.isReadable/ isWritable/ isExecutable), 크로스플랫폼 특이점( dos:* vs posix:*)과 흔한 실수까지 다룹니다.
    사용 가능
  • 파일과 폴더 생성 및 삭제

    JAVA 25 SELF
    레벨 40,레슨 0
    Java 파일 API에 대한 실전 입문: java.nio.file로 작업하고, Files.createFile, Files.createDirectory 및 Files.createDirectories로 파일과 디렉터리를 생성하며, Files.delete와 Files.deleteIfExists로 삭제합니다. 존재 여부 확인( Files.exists, Path.of), 대표적인 예외( FileAlreadyExistsException, NoSuchFileException, DirectoryNotEmptyException, IOException) 및 비어 있지 않은 폴더에 대한 재귀 삭제를 포함한 안전한 삭제를 다룹니다.
    사용 가능
  • 파일과 폴더의 복사와 이동

    JAVA 25 SELF
    레벨 40,레슨 1
    java.nio.file 패키지의 Files.copy와 Files.move를 사용하여 파일과 폴더를 복사, 이동, 이름 변경하는 방법; 어떤 옵션을 사용할지 ( StandardCopyOption.REPLACE_EXISTING, COPY_ATTRIBUTES, 원자적 이동), copy와 move의 차이, 그리고 예외를 올바르게 처리하는 법: FileAlreadyExistsException, AccessDeniedException, AtomicMoveNotSupportedException, NoSuchFileException. 또한 주요 메서드와 옵션에 대한 실용 팁과 표를 제공합니다.
    사용 가능
  • 파일 대량 작업

    JAVA 25 SELF
    레벨 40,레슨 2
    NIO.2를 통해 파일을 다루는 실습: Files.list와 Files.walk로 디렉터리를 순회하고, Stream<Path>와 filter, sorted, limit 연산으로 경로 스트림을 필터링합니다. 대량 작업: 복사( Files.copy), 삭제( Files.delete), 이름 변경( Files.move)을 루프에서 안전하게 오류 처리하고, 재귀 순회 시 성능을 고려합니다. 주요 메서드 표와 “자주 하는 실수” 섹션이 함정을 피하는 데 도움을 줍니다.
    사용 가능
  • 임시 파일과 디렉터리 다루기

    JAVA 25 SELF
    레벨 40,레슨 3
    이 강의에서는 임시 리소스(파일은 Files.createTempFile, 디렉터리는 Files.createTempDirectory)를 안전하게 생성하고 정리하는 방법, 기본 저장 위치와 사용자 지정 폴더를 지정하는 방법을 다룹니다. 또한 Files.delete/ Files.deleteIfExists로 신뢰성 있게 삭제하는 법, 레거시 메서드 File.deleteOnExit()가 적절한 경우, System.getProperty( "java.io.tmpdir")로 시스템 임시 폴더 경로를 얻는 방법, 그리고 확실한 정리를 위해 try- finally 구문을 사용하는 것이 왜 중요한지도 설명합니다. 마지막에는 실용적인 팁과 흔한 실수를 정리합니다.
    사용 가능
  • 파일 시스템 변경 감시: WatchService

    JAVA 25 SELF
    레벨 40,레슨 4
    이번 강의에서는 NIO.2의 파일 시스템 감시 API — WatchService를 다룹니다: 서비스를 얻는 방법, Path.register(...)로 디렉터리를 등록하는 방법, 어떤 이벤트가 제공되는지( ENTRY_CREATE, ENTRY_DELETE, ENTRY_MODIFY), 그리고 처리 루프를 어떻게 구성하는지( WatchService.take() → key.pollEvents() → key.reset()). 기본적으로 재귀 감시가 없다는 제약, Windows/Linux/macOS에서의 특징, 실전 활용 예와 흔한 실수도 함께 살펴봅니다.
    사용 가능
  • 1
  • ...
  • 17
  • 18
  • 19
  • 20
  • 21
  • ...
  • 30
학습
  • 등록
  • Java 과정
  • 과제 도움
  • 요금
  • 게임 프로젝트
  • Java 문법
커뮤니티
  • 사용자
  • 아티클
  • 포럼
  • 채팅
  • 성공 사례
  • 활동
  • 제휴 프로그램
회사
  • 회사 소개
  • 연락처
  • 후기
  • 보도자료실
  • CodeGym for EDU
  • FAQ
  • 지원
CodeGymCodeGym 은(는) 처음부터 Java 프로그래밍을 배우기 위한 온라인 코스입니다. 이 과정은 초보자가 Java를 마스터하기에 완벽한 방법입니다. 즉시 검증 기능이 포함된 1200개 이상의 과제와 Java 기초 이론의 필수 범위를 제공합니다. 학습 성공을 돕기 위해 퀴즈, 코딩 프로젝트, 효율적인 학습법 관련 콘텐츠, Java 개발자 경력 관련 자료 등 동기 부여 기능들을 구현했습니다.
팔로우하기
인터페이스 언어
English Deutsch Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語
한국어
Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Programmers Are Made, Not Born" © 2026 CodeGym
MastercardVisa
"Programmers Are Made, Not Born" © 2026 CodeGym