Запись на внешнее хранилище - PullRequest
0 голосов
/ 07 мая 2018

Я пытаюсь выполнить запись во внешнее хранилище из моего приложения для Android, в частности из папки загрузок. Я пытаюсь написать текстовый файл.

В моем манифесте есть запрос на запись во внешнее хранилище, и я явно запрашиваю разрешения и принимаю.

Однако мой код всегда ловит исключение в строке ниже.

FileWriter fw = new FileWriter(destinationFile);

Мой текущий код для записи в файл после получения разрешений указан ниже.

File destinationFile = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), fileName);
if (!destinationFile.exists()) {
    destinationFile.mkdirs();
}
FileWriter fw = new FileWriter(destinationFile);
fw.write(plainStr);
fw.flush();
fw.close();


} catch (InvalidAlgorithmParameterException | IllegalBlockSizeException | InvalidKeyException | BadPaddingException | NoSuchPaddingException | NoSuchAlgorithmException | InvalidKeySpecException | IOException e) {
                        e.printStackTrace();
                    }

Я использую тосты для отслеживания прогресса в этом коде, и он никогда не проходит дальше той строки, о которой я упоминал ранее.

Любая помощь высоко ценится.

1 Ответ

0 голосов
/ 07 мая 2018

Вы не можете создать файл с таким именем, так как вы использовали mkdirs () для создания каталога с таким именем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...