Обязательно использовать FileInputStream ? И не понятно, почему второй пункт не проходит.