android - 写入外部存储
问题描述
我正在尝试从我的 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 来跟踪该代码的进度,并且它永远不会超过我之前提到的那条线。
非常感谢任何帮助。
解决方案
您无法创建具有该名称的文件,因为您已经使用 mkdirs() 创建了具有该名称的目录。
推荐阅读
- mongodb - NestJS MongoDB 唯一字段不起作用
- reactjs - 将实时 Firebase 数据添加到平面列表
- python - 11<8 == 34>67 和 (11<8) == (34>67) 有什么不同?
- sql-server - 为什么将空字符串插入日期列会产生 1900-01-01
- python - 如何组合 HTML 和 Python 文件?
- javascript - 需要在 JavaScript 中重复 setTimeout() 部分 30 次
- javascript - grunt-contrib-uglify v5.0.0 仍然无法支持 ES6 模板文字?
- pdf-generation - 如何使用 DITA-OT 在 PDF 输出中为主题标题添加自动生成的标签?
- android - 在 Flutter App 中从后台接收 FCM 时如何显示自定义通知?
- python - def 命令存在输出问题