0

おそらく簡単な問題で、1 つのセンテンス ソリューションを使用できます^^: どうすれば .load() で NullPointerException が発生するのでしょうか?

    File ksFile=new File(kspath);
    Log.d("kspath", kspath);
    FileInputStream is=null;
    is = new FileInputStream(ksFile/*kspath*/);
    if(is==null)
        Log.d("debug", "Oh no!");

    if(ksFile.isFile())
        Log.d("debug", "ok");
    if(ksFile.canRead())
        Log.d("debug", "ok");

    if("".toCharArray()==null)
        Log.d("debug", "Oh no!");

    keyStore.load(is, kspw.toCharArray());

ご覧のとおり、ばかげたチェックが追加されています。2 つの「ok」と「oh no!」が表示されますが、問題は入力ストリームにありますが、なぜ ^^? ストリームから読み取ろうとすると while((is.read(byte[] somevar))!=-1)、実際に読み取られます。

編集:

私はばかです、keyStore.getinstance() を追加するのを忘れていました。

4

2 に答える 2

-3

ファイル名ではなく FileInputStream のパラメーターとしてファイルパスを指定する必要があるので、次のようにする必要があります

    is = new FileInputStream(ksFile.getPath());
于 2012-08-21T08:10:19.433 に答える