반응형
클래스 경로에서 파일 인스턴스로 파일을로드 / 참조하는 방법
내 클래스 경로에 파일이 com/path/to/file.txt
있습니다. 이 파일을 java.io.File
개체 로로드하거나 참조해야 합니다. 을 사용하여 파일에 액세스해야하기 때문입니다 java.io.RandomAccessFile
(파일이 크고 특정 바이트 오프셋을 찾아야합니다). 이것이 가능한가? 의 생성자 RandomAccessFile
에는 File
인스턴스 또는 문자열 (경로)이 필요합니다 .
특정 바이트 오프셋을 찾고 행을 읽는 또 다른 솔루션이 있다면 그것에 대해서도 열려 있습니다.
클래스 경로 리소스에 대한 URL을 확보하십시오.
URL url = this.getClass().getResource("/com/path/to/file.txt")
그런 다음 URI를 허용하는 생성자를 사용하여 파일을 만듭니다.
File file = new File(url.toURI());
이것은 또한 작동하며 / path / to / file URI 변환이 필요하지 않습니다. 파일이 클래스 경로에 있으면이 파일을 찾습니다.
File currFile = new File(getClass().getClassLoader().getResource("the_file.txt").getFile());
이 한 줄 코드가 가장 효율적이고 유용하다고 생각합니다.
File file = new File(ClassLoader.getSystemResource("com/path/to/file.txt").getFile());
매력처럼 작동합니다.
또는 InputStream
절대 CLASSPATH 경로 ( /
슬래시 문자로 시작)를 사용하여 리소스를 직접 사용합니다 .
getClass().getResourceAsStream("/com/path/to/file.txt");
또는 상대 CLASSPATH 경로 (작성중인 클래스가 리소스 파일 자체와 동일한 Java 패키지에있는 경우, 즉 com.path.to
) :
getClass().getResourceAsStream("file.txt");
반응형
'Development Tip' 카테고리의 다른 글
제로 패딩이없는 Python 날짜 시간 형식 (0) | 2020.11.02 |
---|---|
OSX에 MongoDB 설치 및 실행 (0) | 2020.11.02 |
Ruby 배열에서 동일한 문자열 요소를 계산하는 방법 (0) | 2020.11.02 |
.htaccess 리디렉션 http를 https로 (0) | 2020.11.02 |
FIQ와 IRQ 인터럽트 시스템의 차이점은 무엇입니까? (0) | 2020.11.02 |