ホームページ > Java > &#&チュートリアル > FileReader が Java JAR からの XML の読み取りに失敗するのはなぜですか?その修正方法は?

FileReader が Java JAR からの XML の読み取りに失敗するのはなぜですか?その修正方法は?

Susan Sarandon
リリース: 2024-12-09 08:53:06
オリジナル
597 人が閲覧しました

Why Does FileReader Fail to Read XML from a Java JAR, and How Can I Fix It?

Java JAR ファイルからのリソース ファイル読み取りエラーのトラブルシューティング

JAR ファイル内からリソースにアクセスする場合、開発者は多くの場合、問題に遭遇します。このような問題の 1 つは、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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート