0

XML ファイルを読み取ってデータを解析する必要があります。そのために、下の画像に示すように、FoodItemData.xml ファイルを Eclipse プロジェクトに配置しました。

ディレクトリ構造

次のコードを使用してファイルを読み取り、操作用の新しい File オブジェクトを作成しました。

URL url = getClass().getClassLoader().getResource("FoodItemData.xml");
File file = new File(url.getPath());

デバッグすると、urlasが表示されます/D:/Application/Workspaces/Practice/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/CreationalPatterns/WEB-INF/classes/FoodItemData.xml

このプロジェクトを別のコンピューターに WAR ファイルとしてインポートすると、このコードが失敗するかどうかを知る必要があります。つまり、表示される URL がローカル システムの URL であるため、ファイルが別のコンピューターで読み取られる場合です。

失敗した場合、どうすれば修正できますか?

4

1 に答える 1

1

ファイルのパスをハードコーディングしていないため、コードは失敗しません。クラスローダーを使用してファイルを検索しているため、最終的にはアプリケーションのクラスディレクトリでファイルを検索します。基本パスは、Web サーバーのルート コンテキストに関して取得されます。FoodItemData.xml が WEB-INF/classes ディレクトリに存在する場合、コードの実行に使用しているマシンに関係なく、取得できるはずです。

于 2013-11-04T08:57:31.320 に答える