FileInputstream + NullPointerException, пока файл присутствует и доступен для чтения

Вероятно, это простая проблема, с одним sentecne-решением ^^: Как.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 "хорошо" и нет "о нет!", Проблема в Inputstream, но почему ^^? если я попытаюсь читать из потока с while((is.read(byte[] somevar))!=-1) это на самом деле читает.

РЕДАКТИРОВАТЬ:

Я идиот, забыл добавить keyStore.getinstance(), не бери в голову, я устал, спасибо gkuzmin^^

2 ответа

Решение

Попробуйте следующим образом:

    keyStore = keyStore.getinstance();

    if((keyStore != null) && (kspath != null)) {
       File ksFile = new File(kspath);

       FileInputStream is = new FileInputStream(ksFile);

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

Но без определения объекта keystore переменная, трудно понять, если хранилище ключей равно нулю или другой переменной.

Держать нас в курсе.

Эй, вы должны указать путь к файлу в качестве параметра для FileInputStream, а не имя файла, поэтому должно быть так

    is = new FileInputStream(ksFile.getPath());
Другие вопросы по тегам