0
public xFbConfigReader()
{

    //props = new Properties();
    propsdatabase = new Properties();

    try 
    {
        // load a properties file
        InputStream dbin = getClass().getResourceAsStream("/properties/database.properties");


        propsdatabase.load(dbin);

    } 
    catch (IOException ex) 
    {
        ex.printStackTrace();
    }

}

プロジェクトの名前が「Properties」であるフォルダーに、「Database.properties」という名前のプロパティファイルを保持します。

Eclipseでjarとしてエクスポートを実行すると。プロパティフォルダが表示されます。

あなたはプロパティフォルダを見ることができます

しかし、プログラムを実行すると、dbinにNUllポイント例外があることが示されます。

つまり、Eclipseでjarを作成するための適切な方法が必要です。親切に提案します。

4

2 に答える 2

1

プロパティファイルを処理する際のより良い解決策は、

static Properties databaseproperties= new Properties();
    static {
        try {
            connectionProps.load(YourClassName.class.getClassLoader()
                    .getResourceAsStream("databaseproperties.properties"));
        } catch (Exception e) {
            System.out.println("Exception is " + e.getMessage());
        }
    }

これはより良いアプローチです。

  • プロパティファイルを別のフォルダに移動できます。
  • 実際、プロパティフォルダをjarの外に置くことができます。すべてのプロパティファイルを含めることができるConfigurationというフォルダを作成できるとします。jarの外部にあるため、必要に応じていつでもプロパティファイルを変更できます。
  • プロパティファイルを変更する場合は、ファイルを解凍する必要はありません。

(または)単にこの変更を行うことができ、ディレクトリ構造について考える必要はありません

  1. ステップ1:プロパティファイルをSRCに移動します
  2. ステップ2:この行を次のように変更します

    InputStream dbin = getClass()。getResourceAsStream( "/ database.properties");

とにかくJARファイル内にとどまるため、これは前のコードと大差ありません。

于 2012-05-07T05:15:11.487 に答える
0

プロパティファイルがロードされていないため、nullポインタ例外が発生します。FileInputStreamを使用して、次のようにプロパティをロードしてみてください。FileInputStream dbin = new FileInputStream( "/properties/database.properties"); properties.load(dbin);

于 2012-05-07T05:17:38.053 に答える