0

サーブレットでファイルを読み込もうとしています。私はEclipse IDEを使用しています。

相対ファイル名を指定すると、FileNotFoundException が発生します。

List<String> ls=new ArrayList<String>();
Scanner input = new Scanner(new File("Input.txt"));
while(input.hasNextLine()) {
   ls.add(input.nextLine());
}

次のように絶対パスを入力すると、同じコードが機能します。

Scanner input = new Scanner(new File("F:/Spring and other stuff/AjaxDemo/src/com/pdd/ajax/Input.txt"));

Java ファイルとテキスト ファイルは同じフォルダーにあります。

他のフォルダにあるテキスト ファイルを検索しますか?

4

2 に答える 2

1

作業ディレクトリの設定

Eclipse 内で作業する場合のオプションの 1 つは、起動構成で作業ディレクトリを設定することです。これをする:

  1. Run|に移動します。Run Configurations...
  2. 左側のペインで構成を選択します
  3. Argumentsタブを選択
  4. Working directoryセクションに移動します
  5. 選択するOther
  6. 目的のベース ディレクトリに入力します

印刷することにより、テストでこれを検証できます。

System.getProperty("user.dir") 

これには、本番用とテスト用のコードを変更しないという利点があります。

おすすめ

ただし、最善の方法は、構成によって作業ディレクトリを常に明示することです。これにより、作業ディレクトリがアプリケーションの直接制御下に置かれ、Eclipse や Tomcat などのツールやサーブレット コンテナーから離れます。これを行うには、次のFileコンストラクターを使用します

new File(parent, file)
于 2012-10-14T15:36:53.990 に答える
0

-のようなIDEを使用している場合はEclipse、ファイルを。に配置しますApplication's Project Folder

-フォルダに入れることもできsrcます。

于 2012-10-14T15:27:38.507 に答える