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

강의

  • 리뷰
  • 회사 소개
시작
학습 시작
Start learning now
  • 진행 상황
  • 코스
  • 퀘스트 맵
  • 레슨
  • 텍스트 파일 읽기: 줄 단위, 통째로

    JAVA 25 SELF
    레벨 36,레슨 1
    이 강의에서는 BufferedReader로 줄 단위 읽기와 Files.readAllLines/ Files.readString으로 통째로 읽기를 다룹니다. 또한 버퍼 선택(예: 8192 바이트), try-with-resources로 리소스를 안전하게 닫는 방법, 인코딩 처리( StandardCharsets.UTF_8)도 설명합니다. 실용 예제(행 수 세기, 로그 검색, 구성 파싱)와 흔한 실수(예: 큰 파일을 통째로 로드할 때 발생하는 OutOfMemoryError)도 함께 보여줍니다.
    사용 가능
  • 이진 파일 읽기와 쓰기: InputStream, OutputStream

    JAVA 25 SELF
    레벨 36,레슨 2
    텍스트 파일과 이진 파일의 차이, 기본 바이트 스트림 InputStream/ OutputStream 및 그 파일 구현( FileInputStream, FileOutputStream)을 다룹니다. 버퍼를 사용한 복사 코드를 작성하고, 바이트 단위 vs 블록 단위 읽기 속도를 논의하며, write()로 바이트 배열을 쓰는 방법, try-with-resources의 요점, 버퍼 크기 4– 16 KB 선택, readAllBytes()의 안전한 사용법과 흔한 실수(예: 이진 데이터에 FileReader/ FileWriter를 사용하는 경우)를 설명합니다.
    사용 가능
  • DataInputStream, DataOutputStream: 기본형 다루기

    JAVA 25 SELF
    레벨 36,레슨 3
    이 강의에서는 Java에서 DataInputStream과 DataOutputStream으로 이진 입출력을 다룹니다. int, double, boolean과 문자열( String)을 writeXXX/ readXXX 메서드로 어떻게 기록하고 읽는지, 순서가 왜 중요한지, 배열을 어떻게 저장하는지, 언제 BufferedInputStream/ BufferedOutputStream을 추가하는 것이 의미가 있는지, 그리고 어떤 전형적인 실수들이 IOException이나 EOFException으로 이어지는지 설명합니다.
    사용 가능
  • try-with-resources 사용: 리소스 자동 닫기

    JAVA 25 SELF
    레벨 36,레슨 4
    Java에서 리소스를 안전하게 다루는 현대적 방법 — try-with-resources를 살펴봅니다: 예전 패턴 try/ catch/ finally + close()와의 비교, 타입 요구 사항( AutoCloseable 또는 Closeable 구현), try(...){...} 구문, 닫기 순서, getSuppressed()를 통한 “억제된” 예외, 입출력 스트림 및 사용자 정의 리소스 예제, 그리고 팁과 흔한 실수까지.
    사용 가능
  • 인코딩이란 무엇이며 왜 필요한가

    JAVA 25 SELF
    레벨 37,레슨 0
    인코딩이 무엇인지, 그리고 인코딩이 없으면 왜 컴퓨터 텍스트가 “문자 깨짐(모지바케)”으로 보이는지 살펴봅니다. 널리 쓰이는 세트를 비교합니다: UTF-8, Windows-1251, ASCII, Unicode/ UTF-16. JVM에서의 문자열 내부 표현( String은 Unicode)과 올바른 입출력: InputStreamReader/ OutputStreamWriter 및 StandardCharsets.UTF_8로 인코딩을 명시하는 방법을 다룹니다. 마지막에는 실용적인 예제와 흔한 실수를 소개합니다.
    사용 가능
  • 주요 인코딩: UTF-8, UTF-16, ISO-8859-1

    JAVA 25 SELF
    레벨 37,레슨 1
    Java‑개발자가 마주치는 세 가지 기본 인코딩을 다룹니다: UTF-8(웹과 대부분의 포맷의 표준)이 무엇인지, JVM에서 문자열의 내부 형식 — UTF-16(서러게이트 쌍과 BOM)이 어떻게 구성되어 있는지, 그리고 왜 아직도 ISO-8859-1이 쓰이는지. ASCII와의 호환성, 문자당 바이트 수를 설명하고, StandardCharsets, Files.write, Files.readString, Paths.get을 사용해 Java에서 인코딩을 올바르게 다루는 방법을 보여 줍니다. 마지막에는 전형적인 실수를 정리합니다 — 잘못된 읽기/쓰기, 시스템 인코딩 “기본값”, UTF-16/ UTF-8 혼동.
    사용 가능
  • 파일 읽기/쓰기 시 인코딩 지정

    JAVA 25 SELF
    레벨 37,레슨 2
    “깨진 문자”를 피하고 모든 컴퓨터에서 텍스트가 동일하게 보이게 만드는 방법: 시스템 인코딩( "file.encoding"), Charset과 StandardCharsets 상수 사용법, Files . newBufferedReader 및 Files . newBufferedWriter로 읽기/쓰기, try-with-resources 활용, 사용 가능한 인코딩을 확인하고 모범 사례를 따르기(기본값 — "UTF-8"). 마지막에는 흔한 오류와 그 예방법을 정리합니다.
    사용 가능
  • 인코딩 불일치 문제와 흔한 오류

    JAVA 25 SELF
    레벨 37,레슨 3
    이 강의에서는 “깨진 문자”, 문자 손실 ( ?), MalformedInputException 같은 예외, 원인(불일치한 Windows-1251/ UTF-8, 시스템 기본 인코딩, BOM), 진단( file.encoding)과 베스트 프랙티스: Charset을 명시적으로 지정하고, StandardCharsets와 함께 Files/ BufferedReader를 사용하며, FileReader/ FileWriter를 피하고, XML/ JSON 및 BOM 관련 뉘앙스를 다룹니다.
    사용 가능
  • 파일 재인코딩: 한 인코딩으로 읽고 다른 인코딩으로 쓰기

    JAVA 25 SELF
    레벨 37,레슨 4
    java.nio.file 및 java.io의 클래스를 사용해 한 문자 인코딩으로 파일에서 텍스트를 올바르게 읽고 다른 인코딩으로 저장하는 방법: Files.newBufferedReader/ Files.newBufferedWriter 또는 InputStreamReader/ OutputStreamWriter를 사용하고, 필요한 Charset을 지정하며, try-with-resources를 적용하고 시스템 기본 인코딩의 함정을 피합니다. 단계별 알고리즘, Windows-1251 → UTF-8 예시, 주의할 점(BOM, 대용량 파일, 예외)과 흔한 실수까지 다룹니다.
    사용 가능
  • IOException 및 FileNotFoundException: 오류 처리

    JAVA 25 SELF
    레벨 38,레슨 0
    Java에서 IO 예외의 계층 구조가 어떻게 되어 있는지, IOException과 그 하위 클래스인 FileNotFoundException의 차이, 이들이 언제 발생하고 어떻게 올바르게 처리하는지 알아봅니다. catch 블록의 순서, 파일 읽기/쓰기 실습, 로깅 팁, 그리고 가장 흔한 오류를 간단히 정리한 표도 살펴봅니다. 또한 체크 예외(checked exceptions), 키워드 try, catch, finally, throws와 try-with-resources 기법을 다룹니다.
    사용 가능
  • 파일 및 디렉터리 존재 여부 확인

    JAVA 25 SELF
    레벨 38,레슨 1
    Java에서 파일이나 폴더가 있는지 확인하는 방법: 클래스 File의 메서드 exists(), isFile(), isDirectory()와, Path와 Files를 사용하는 현대적인 NIO 접근 — Files.exists(), Files.isRegularFile(), Files.isDirectory(). TOCTOU 문제와 왜 존재 여부 확인이 예외 처리를 대체할 수 없는지 살펴봅니다: exists() 이후에도 FileNotFoundException이나 AccessDeniedException이 발생할 수 있으므로, 항상 try 블록과 가능하면 try-with-resources를 사용하세요. 실습도 포함: 파일이 있을 때 읽기, Files.createDirectory() 및 Files.createDirectories()로 디렉터리 생성, 상대 경로와 절대 경로 다루기.
    사용 가능
  • 손상된 파일 처리, 데이터 복구

    JAVA 25 SELF
    레벨 38,레슨 2
    예외( EOFException, MalformedInputException, ZipException, StreamCorruptedException)로 손상된 파일을 식별하는 방법, 형식 불일치 시 어떻게 대응할지, 그리고 어떤 복구 전략을 사용할지: 로깅과 사용자 알림, 오류 시점까지의 부분 읽기, 백업, 체크섬( SHA-256). EOF까지 읽기 실습, 올바른 인코딩 처리, 전형적인 오류(검증, try-with-resources, 신중한 덮어쓰기) 분석.
    사용 가능
  • 1
  • ...
  • 16
  • 17
  • 18
  • 19
  • 20
  • ...
  • 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