Java 프로그래밍 문제가 있습니다. 도움이 필요합니다!
클래스 파일이 별도의 패키지 (기본 패키지가 아님)에 있습니다. 내 res 폴더에서 파일에 액세스하려고합니다. 클래스 폴더로 추가했습니다 (속성-> 라이브러리-> 클래스 폴더 추가) 내 클래스에는 다음 코드가 있습니다.
InputStream IS = getClass().getResourceAsStream("mytextfile.txt");
그러나 작동하지 않고 모든 적절한 가져 오기와 모든 것이 있지만 작동하지 못합니다 ... (IS를 사용하려고 할 때 null 포인터 예외가 발생합니다)
기본 패키지를 사용하는 다른 프로그램이 있고 잘 작동하기 때문에 별도의 패키지를 사용하는 것과 관련이 있다고 생각합니다.
Eclipse를 사용할 때와 .jar로 내보낼 때 파일에 액세스 할 수있는 방법을 원합니다.
도움에 미리 감사드립니다!
편집 : /res/mytextfile.txt를 사용해 보았지만 작동하지 않습니다 ...
getClass().getResource
클래스가 존재하는 위치를 기준으로 명명 된 리소스를 찾습니다.
클래스가 패키지에있는 경우 그래서 foo.bar
, getResource
에 보일 것 foo/bar/mytextfile.txt
(클래스 접두어, 클래스 로더의 클래스 경로 컨텍스트 ...)
대신 다음과 같은 상대 경로를 사용해보십시오.
InputStream IS = getClass().getResourceAsStream("/mytextfile.txt");
또는
InputStream IS = getClass().getResourceAsStream("/res/mytextfile.txt");
리소스 디렉터리가 호출 res
되고 기본 패키지 아래에 존재 한다고 가정합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다