JAR 파일 내의 리소스에 액세스할 때 개발자는 종종 어려움에 직면합니다. FileReader를 사용하여 JAR에서 XML 파일을 읽으려고 할 때 이러한 문제 중 하나가 발생하여 "FileNotFoundException" 오류가 발생합니다.
이 특정 사례에서 개발자는 XML 파일에 대한 URL을 올바르게 검색하지만 오류가 발생합니다. FileReader에 전달할 때. 이는 URL 검색 방법이 작동함을 나타냅니다. 그러나 문제는 후속 단계에 있습니다.
XMLReader xr = XMLReaderFactory.createXMLReader(); xr.setContentHandler( this ); xr.setErrorHandler( this ); xr.parse( new InputSource( new FileReader( filename )));
FileReader에는 인수로 파일 경로가 필요한 반면, getClass().getResource()에서 얻은 URL은 JAR 내의 리소스를 가리킵니다.
이 문제를 해결하려면 java.lang.Class.getResourceAsStream(String) 메서드를 사용하세요. 리소스를 읽는 데 사용할 수 있는 InputStream:
URL url = getClass().getResource("/xxx/xxx/xxx/services.xml"); InputStream is = url.openStream();
그런 다음 InputStream을 사용하여 XML 파서의 InputSource를 초기화할 수 있습니다.
xr.parse( new InputSource( is ));
getResourceAsStream을 활용하여 개발자는 다음을 수행할 수 있습니다. JAR 파일에서 XML 리소스를 성공적으로 읽어 "FileNotFoundException" 오류를 제거했습니다.
위 내용은 FileReader가 Java JAR에서 XML을 읽지 못하는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!