Java デスクトップ アプリケーションから JAR ファイル内の XML ファイルにアクセスする
このシナリオでは、Java デスクトップ アプリケーション内の XML ファイルにアクセスしようとしています。デスクトップ アプリケーションとして実行される別の JAR からの JAR ファイル。ファイルの URL は正常に取得できましたが、それを String を使用して FileReader に渡すと、FileNotFoundException が発生します。
ただし、ImageIcon を含む URL を使用して、同じ JAR から画像リソースを読み取ることができました。コンストラクタ。これは、URL を取得するために使用しているメソッドが正しいことを示しています。
URL url = getClass().getResource("/xxx/xxx/xxx/services.xml"); // ...
XML ファイルを解析しようとすると問題が発生します。
XMLReader xr = XMLReaderFactory.createXMLReader(); xr.setContentHandler( this ); xr.setErrorHandler( this ); xr.parse( new InputSource( new FileReader( filename )));
解決策:
XML ファイルを読み取るための間違った方法は、 new FileReader( filename ) を使用しています。これを修正するには、java.lang.Class.getResourceAsStream(String) メソッドを利用します。名前で指定されたリソースに InputStream を提供し、XML ファイルを読み取ることができるようにします。
URL url = getClass().getResourceAsStream("/xxx/xxx/xxx/services.xml"); // ...
以上がJava デスクトップ アプリケーションから JAR に埋め込まれた XML ファイルにアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。