>Java >java지도 시간 >JAR에서 리소스를 로드할 때 getResourceAsStream이 Null을 반환하는 이유는 무엇입니까?

JAR에서 리소스를 로드할 때 getResourceAsStream이 Null을 반환하는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-26 08:42:09706검색

Why Does getResourceAsStream Return Null When Loading Resources from a JAR?

JAR에서 리소스를 로드할 때 getResourceAsStream이 Null을 반환함

Class::getResourceAsStream을 사용하여 JAR 패키지에서 텍스트 파일을 로드하려고 하면 null 반환 값이 발생할 수 있습니다. 이 문제를 해결하려면 다음을 고려하십시오.

Lifepaths.class.getClass().getResourceAsStream(...) 메서드는 JAR 내의 리소스에 액세스할 수 없는 시스템 클래스 로더를 사용합니다. 대신 Lifepaths.class.getResourceAsStream(...)을 사용하여 Lifepaths 클래스를 로드한 클래스 로더를 활용하여 JAR 리소스에 대한 액세스를 보장하세요.

getResourceAsStream(name)을 호출할 때 이름이 슬래시 "/". 잠재적인 문제를 피하기 위해 일반적으로 이 방법을 권장합니다.

수정된 코드의 예는 다음과 같습니다.

public static void execute() {
    System.out.println(Lifepaths.class.getResourceAsStream("/initialization/Lifepaths.txt"));
}

위 내용은 JAR에서 리소스를 로드할 때 getResourceAsStream이 Null을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.