2

現在、次のコードを使用して公開鍵ファイルを読み取っています。

    // Read Public Key.
    File filePublicKey = new File(path + "/public.key");
    FileInputStream fis = new FileInputStream(path + "/public.key");
    byte[] encodedPublicKey = new byte[(int) filePublicKey.length()];
    fis.read(encodedPublicKey);
    fis.close();

ただし、jar ファイルにキー ファイルを含めたいと考えています。キーファイルをEclipseのプロジェクトにドラッグしました。次を使用して公開キーをロードして、上記のものを置き換えようとしています:

    InputStream is = getClass().getResourceAsStream( "/RSAAlgorithm2/public.key" );
    byte[] encodedPublicKey = new byte[(int) 2375];
    is.read(encodedPublicKey);
    is.close();

ただし、NullPointerException が引き続き発生します。

java.lang.NullPointerException at RSA.LoadKeyPair(RSA.java:122) at RSA.main(RSA.java:31)

これは、ファイルを間違って読み込んでいるためですか? ファイルをEclipseにドラッグしてこのようにロードできますか、それともJARから分離する必要がありますか?

4

2 に答える 2

1

を行った後かどうかisを確認します。そうである場合、リソースは見つかりませんでした。この場合、ファイルへのパスを確認してください。これはクラスパスからの相対パスです。プロジェクトの設定はわかりませんが、単純に使用してみます…</ p> nullgetResourceAsStream"/public.key"

于 2012-04-22T22:18:45.897 に答える
0

この名前で、「public.key」ファイルをRSAAlgorithm2パッケージに入れる必要があります。つまり、「jar」ファイルに「RSAAlgorithm2/public.key」という名前のエントリが表示されます。

于 2012-04-22T22:23:37.283 に答える