0


メインプロジェクトのフォルダー内の 「res」というフォルダーにある「hops.txt」というテキストファイルを解析したいと思います。

次のコードを実行する場合:

package parsing;

import java.io.InputStream;

public class ParseTest {
public static void main(String[] args) {
    ParseTest pt = new ParseTest();
    pt.foo();
}
public void foo()
{
    InputStream is= this.getClass().getClassLoader().getResourceAsStream("hops.txt");
    System.out.println(is);
    is= this.getClass().getResourceAsStream("hops.txt");
    System.out.println(is);
}
}

次の出力を受け取ります:
null
null

私は何を間違っていますか?ありがとう!

プロジェクトのレイアウト

4

2 に答える 2

3

のパス パラメータはgetResourceAsStream、プロジェクト ルートからの相対パスであると見なされます。このテキスト ファイルはプロジェクト内のフォルダーにあるため、リソース パスにフォルダー名を含める必要があります。

this.getClass().getResourceAsStream("/res/hops.txt");
于 2012-07-13T21:39:27.817 に答える
1

res フォルダーを削除し、すべてのファイルを「src」フォルダーの下の「res」という名前のパッケージに入れることで、問題を解決しました。
その後、コードを使用して:

InputStream is= this.getClass().getResourceAsStream("/res/hops.txt");

そしてそれはうまくいきました。

于 2012-07-14T06:57:52.757 に答える