0

私はJavaが初めてです。ResourceBundle を使用したことを覚えているとは言えません。「バンドル 'ExceptionMessages_en_US'、キーのリソースが見つかりません」という例外が発生します。

ここに私の ListResourceBundle クラスがあります:

(JavaDoc から例をそのまま取り出し、独自の文字列で変更しました)

public class ExceptionMessages extends ListResourceBundle {

@Override
protected Object[][] getContents() {
     return new Object[][] {

             {"interfaceCount", "Device should have 1 interface."},
             {"epCount", "Device should have 3 endpoints."},
             {"noIntrIn", "Device does not have an interrupt input endpoint."},
             {"noBulkIn", "Device does not have a bulk input endpoint."},
             {"noBulkOut", "Device does not have a bulk output endpoint."},
             {"openFailed", "A call to deviceOpen has failed."},
             {"claimFailed", "A call to claimInterface has failed."},
             {"startSessionFailed", "Start USB Session has failed."},
             {"sessionNotStarted", "USB Session not started."},
             {"bulkTxError", "Bulk endpoint transmit error."},
             {"intrRxError", "Interrupt endpoint recieve error."},


        };  
}

}

また、クラスの名前を ExceptionMessages_en_US にしてみましたが、うまくいきませんでした

次のようなリソース バンドルを取得します。

public void Test()
{
    try
    {
        ResourceBundle rb = ResourceBundle.getBundle("ExceptionMessages");
    }
    catch (Exception e)
    {
        e.printStackTrace();


    }

    int i = 0;
    i++;


}

私も疲れました:

 public void Test()
 {
    try
    {
        ResourceBundle rb = ResourceBundle.getBundle("ExceptionMessages",new Locale("en", "US"));
    }
    catch (Exception e)
    {
        e.printStackTrace();


    }

    int i = 0;
    i++;


}

しかし、それでも例外が発生します。

私は何が欠けていますか?私はそれが愚かなものであることを確信しています。

4

1 に答える 1

0

ExceptionMessages を含む完全なパッケージを追加する必要がありました。

例:

        ResourceBundle rb = ResourceBundle.getBundle("com.mycomp.ExceptionMessages");
于 2013-04-20T07:06:40.740 に答える