데이터 가져오기 기초 이해

Java에서 데이터 가져오기

Anthony Markham

VP Quant Developer

강사를 소개합니다!

 

$$

앤서니 마컴(Anthony Markham)

  • 부사장, 정량 개발/애널리틱스 리드
  • 투자은행 C++/Java/Python 개발자
  • 대학 강의 경력

 

Anthony Markham

Java에서 데이터 가져오기

데이터 가져오기 기초

  • Java 앱에서 외부 정보를 처리하는 데 필수

  • 일반 형식: CSV(쉼표로 구분), JSON, Excel

가져오기 워크플로의 5단계를 보여주는 흐름도

  • Java는 java.iojava.nio 패키지로 강력한 도구를 제공합니다
Java에서 데이터 가져오기

파일 처리 기본

  • File 클래스는 파일/디렉터리를 표현
  • exists(), length(), isDirectory() 등으로 파일을 검증할 수 있습니다
import java.io.File;
File dataFile = new File("data.csv");
boolean exists = dataFile.exists();
long size = dataFile.length();
boolean isDirectory = dataFile.isDirectory();
Java에서 데이터 가져오기

Path 인터페이스와 Files 클래스

  • Path 인터페이스와 Files 클래스는 현대적 파일 작업을 제공합니다(java.nio)
  • 장점: 더 유연하고, 예외 처리와 성능이 우수
  • 간단한 작업은 java.io, 고성능 입출력은 java.nio 사용
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.Files;
Path dataPath = Paths.get("data.csv");

boolean exists = Files.exists(dataPath); long size = Files.size(dataPath);
Java에서 데이터 가져오기

텍스트 파일 읽기

  • Files.readAllLines(): 전체 파일을 List<String>으로 읽기(한 줄당 한 요소)
  • Files.readString(): 전체 파일을 하나의 문자열로 읽기
Path file = Paths.get("data.csv");

// 한 번에 모든 줄 읽기 List<String> lines = Files.readAllLines(file); // 전체 파일을 문자열로 읽기 String content = Files.readString(file);

$$

$$

  • 전체 파일이 메모리에 로드됩니다 🛑
Java에서 데이터 가져오기

데이터 검증

  • 처리 전에 데이터 품질을 보장
  • 데이터 품질과 구조 확인
  • 일반적인 검증 수행
  • 모든 Exception 처리

데이터 검증 체크

Java에서 데이터 가져오기

데이터 검증

  • 공통 체크: 파일이 비어 있지 않은지, 헤더에 필요한 열이 있는지 확인
  • try-catch 블록으로 Exception 처리 ✅
try {
  Path file = Paths.get("data.csv");
  List<String> lines = Files.readAllLines(file);
  if (lines.isEmpty()) { // 파일에 내용이 있는지 검증
      System.out.println("Warning: File is empty");}
  String header = lines.get(0);
  if (!header.contains("id") || !header.contains("name")) {    // 헤더 확인
      System.out.println("Error: File missing required columns");
} catch (Exception e) {
    System.out.println("Error reading file: " + e.getMessage());}
Java에서 데이터 가져오기

요약

클래스/인터페이스 메서드 설명
File new File() 파일 경로의 추상 표현 생성
File exists() 파일 존재 여부 확인
File length() 파일 크기(바이트) 가져오기
Paths get() 문자열에서 Path 객체 생성
Files exists() 파일 존재 여부 확인(모던 API)
Files size() 파일 크기(바이트) 가져오기(모던 API)
Files readAllLines() 전체 파일을 List<String>으로 읽기
Files readString() 전체 파일을 하나의 String으로 읽기
1 https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html
Java에서 데이터 가져오기

Ayo berlatih!

Java에서 데이터 가져오기

Preparing Video For Download...