1

Eclipse の Java プロジェクトで .dat ファイルを参照するのに苦労しています。私のファイル構造は次のようになります。

ここに画像の説明を入力

「LookupCountry.java」ファイルから「GeoIPLite.dat」を参照しようとしています。「参照」と言うとき、実際には、パスの文字列オブジェクトを取得し、それをjarの「参照ライブラリ」の下にあるクラスにパラメーターとして送信することを意味します。

LookupCountry.java の私のコードは次のとおりです。

try{
    String dbFile = "../resources/GeoIPLite.dat"
    
    // TRIED ALL THESE AS WELL:
    //String dbFile = "/../resources/GeoIPLite.dat"
    //String dbFile = "/resources/GeoIPLite.dat"
    //String dbFile = "resources/GeoIPLite.dat"
    
    //Some more code calling the jar file......

}catch(IOException e){
    //Handles exception
}

したがって、基本的には、.dat ファイルへのパスが正しくないことを示す IOException が jar からスローされます。

何か案は??

4

2 に答える 2

0

Use the same package structure in your resource folder as you did in your src folder. Add your resource folder as a source folder in Eclipse (see screenshot). Place the .dat file, in the resource folder, relative to the class that is going to use it. You should see your resource files then along side your compiled classes.

In your code, reference the resource file like so:

this.getClass().getResource("foo.txt");

enter image description here

于 2013-02-19T17:19:42.447 に答える
0

たとえば、Eclipse では、クラスを実行するときに、「現在のフォルダー」がどこにあるかを構成します。メニューから: Run > Run Configuration ... を使用して、使用しているものを選択します。

次に、「引数」タブをクリックして、作業ディレクトリを確認します。

ここに画像の説明を入力

パスは、そこに示されている場所に相対的である必要があります。(クリップされた画像では、プロジェクト自体のベース フォルダーである既定値が表示されます。)

new File("resources/GeoIPLite.dat")デフォルトの作業ディレクトリと同じようにファイルを開きます。

于 2013-02-19T17:16:58.110 に答える