Java에서 getResourceAsStream 사용법 분석

본고는 자바에서 getResourceAsStream의 사용법을 실례로 다루고 있다.여러분에게 참고할 수 있도록 나누어 드리겠습니다.구체적으로 다음과 같습니다.
(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");
본고에서 기술한 것이 여러분의 자바 프로그램 설계에 도움이 되기를 바랍니다.

좋은 웹페이지 즐겨찾기