[Spring] 프로젝트에서 리소스 파일 읽기

고지훈·2022년 1월 15일
2

Spring

목록 보기
13/26
post-thumbnail

리소스(Resource)

스프링 프로젝트를 생성하면 src/main/resource디렉토리에 리소스 파일을 저장하게 되어있다. 컴파일 대상이 되는 소스파일이 아닌 파일들을 리소스 디렉토리에 저장하여 관리한다.

프로젝트를 빌드하면 리소스 파일은 CLASS_PATH에 위치하게 된다.

리소스 파일 가져오기

스프링 프레임워크에서는 CLASS_PATH에 저장된 리소스 파일을 쉽게 가져올 수 있도록 해주는 ClassPathResource클래스를 제공한다.

// ex) `src/main/resource/providers.json`에 위치한 파일을 가져오려면 다음과 같이 코드를 작성한다.
ClassPathResource resource = new ClassPathResource("providers.json");

ClassPathResource는 스프링 프레임워크가 제공하는 클래스로, 리소스에 대한 파일 이름, File 객체, URL, URI등 리소스와 관련된 정보를 제공한다.

resource.getFile(); // 파일 객체
resource.getFilename(); // 파일 이름
resource.getInputStream(); // InputStream 객체
resource.getPath(); // 파일 경로
resource.getURL(); // URL 객체
resource.getURI(); // URI 객체

리소스 파일의 내용 읽기

가져온 리소스 파일의 내용은 Paths를 사용하여 쉽게 읽을 수 있다.

ClassPathResource resource = new ClassPathResource("providers.json");

try {
	Path path = Paths.get(resource.getURI());
    List<String> content = Files.readAllLines(path);
    content.forEach(System.out::println);
} catch (Exception e) {
	log.error(e);
}
profile
"계획에 따르기보다 변화에 대응하기를"

1개의 댓글

comment-user-thumbnail
2023년 8월 6일

덕분에 좋은 내용 잘 보고 갑니다.
정말 감사합니다.

답글 달기