首页 > 解决方案 > 写入外部存储

问题描述

我正在尝试从我的 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();
                    }

我正在使用 toast 来跟踪该代码的进度,并且它永远不会超过我之前提到的那条线。

非常感谢任何帮助。

标签: androidfile-permissionsandroid-external-storage

解决方案


您无法创建具有该名称的文件,因为您已经使用 mkdirs() 创建了具有该名称的目录。


推荐阅读