Java에서 getResourceAsStream 사용법 분석
1998 단어 JavagetResourceAsStream
(1) Java의 getResourceAsStream에는 다음과 같은 몇 가지 상황이 있습니다.
1. Class.getResourceAsStream(String path) :
#path는'/'로 시작하지 않을 때 기본적으로 이런 패키지에서 자원을 가져옵니다.
#'/'으로 시작하면 ClassPath 루트에서 가져옵니다. 그 원리는 path를 통해 절대적인 경로를 구축하는 것입니다. 결국은 ClassLoader가 자원을 가져옵니다.
2. Class.getClassLoader.getResourceAsStream(String path) :
# 기본값은 ClassPath 루트에서 가져옵니다. path는'/'로 시작할 수 없습니다. 최종적으로 ClassLoader에서 자원을 가져옵니다.
3. ServletContext. getResourceAsStream(String path):
#기본적으로 WebAPP 루트 디렉터리에서 자원을 가져옵니다. Tomcat 또는 Resin #[Web 용기] 아래의 path가'/'로 시작하든 안 하든 상관없습니다. 물론 이것은 구체적인 용기 구현과 관련이 있습니다.
4. Jsp의 응용 프로그램 내장 대상은 위의 ServletContext의 일종의 실현이다.
(2) getResourceAsStream에는 다음과 같은 몇 가지 방법이 있습니다.
첫 번째: 로드할 파일 및.class 파일은 같은 디렉터리에 있습니다. 예를 들어:com.x.y 아래에 클래스가 있습니다.class, 자원 파일 myfile이 있습니다.xml
그러면 다음과 같은 코드가 있어야 합니다.
me.class.getResourceAsStream("myfile.xml");
둘째: 내게서.class 디렉터리의 하위 디렉터리 아래, 예를 들어:com.x.y 아래에 클래스가 있습니다.class, 동시에com.x.y.file 디렉터리에 자원 파일 myfile이 있습니다.xml그러면 다음과 같은 코드가 있어야 합니다.
me.class.getResourceAsStream("file/myfile.xml");
셋째: 나 없어.class 디렉터리도 하위 디렉터리에 없습니다. 예를 들어:com.x.y 아래에 클래스가 있습니다.class, 동시에com.x.file 디렉터리에 자원 파일 myfile이 있습니다.xml그러면 다음과 같은 코드가 있어야 합니다.
me.class.getResourceAsStream("/com/x/file/myfile.xml");
(3) 다음과 같이 요약하면 두 가지 묘사일 수 있다첫째: 앞에 "/"
"/"는 프로젝트의 루트 디렉터리를 대표합니다. 예를 들어 프로젝트 이름은 myproject이고, "/"는 myproject를 대표합니다.
me.class.getResourceAsStream("/com/x/file/myfile.xml");
둘째: 앞에 "/"없음현재 클래스를 나타내는 디렉토리
me.class.getResourceAsStream("myfile.xml");
me.class.getResourceAsStream("file/myfile.xml");
본고에서 기술한 것이 여러분의 자바 프로그램 설계에 도움이 되기를 바랍니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.