SigFile

File read and write module

플러그인을 위한 File io를 지원하는 모듈입니다.

Reason

  • 리소스 폴더를 불러오거나 플러그인 폴더를 찾는 코드는 생각보다 깁니다.

  • 임시 파일을 활용하여 리소스 파일을 직접 변경하거나 같은 사고를 예방합니다.

  • 일반적인 플러그인 파일의 기본 사용 사례를 충족합니다.

Usage

File file = FileLoader.getFile("config.yml", plugin);
File resource = FileLoader.getFromResource("config.yml", plugin);
File dataFolder = FileLoader.getFromPluginFolder("config.yml", plugin);
if (!file.exist()) return; // need check

File guaranteed = FileLoader.getOrThrow("config.yml", plugin);

Feature

기본 동작은 다음과 같습니다.

  1. 입력된 ResourceProvider들로부터 파일을 받습니다. 만약 파일이 없을 경우, 다음 ResourceProvider를 찾습니다.

  2. 마지막 ResourceProvider인 경우 파일 존재 유무에 상관없이 path를 포함한 File을 반환합니다. File#exists()를 통해 파일 존재 유무를 파악할 수 있습니다.

getOrThrow의 경우 위와 같으나 파일을 찾지 못할 경우 FileNotFoundException을 반환합니다.

Caution

  • 기본 동작의 경우 null 확인을 통한 파일 존재 여부 확인은 불가 합니다. File#exists()를 사용하세요.

  • ResourceFolderProvider의 경우 직접 리소스 파일을 수정할 수 없으므로 대신 임시 파일에 복사한 후 그 경로를 반환합니다.

Last updated