gpt4 book ai didi

Android 不保存到 SD 卡

转载 作者:可可西里 更新时间:2023-10-31 22:04:49 25 4
gpt4 key购买 nike

我想将一个文本文件保存到插入运行 Lollipop 的 HTC One M8 的 SD 卡中。但是,当我运行此代码时,它会保存到内部存储空间。

String FILENAME = "mysavefile.txt";

File file = new File(Environment.getExternalStorageDirectory(), FILENAME);

if (isExternalStorageWritable()) {
errorSD.setVisibility(View.INVISIBLE);
try {
FileOutputStream fos = new FileOutputStream(file, false);
fos.write(allInformation.getBytes(), 0, 81);
fos.close();
successfulSubmissionToast();
} catch (FileNotFoundException e) {
e.printStackTrace();
errorSD.setVisibility(View.VISIBLE);
} catch (IOException e) {
e.printStackTrace();
}

应该保存到

/storage/ext_sd

而是保存到

/storage/emulated/0

然后我尝试手动输入我的 SD 卡的位置以查看是否可行,但最终抛出 FileNotFoundException

File file = new File("/storage/ext_sd", FILENAME);

编辑:我认为问题在于有多个外部存储。一种是永久的,一种是临时的。问题是您如何访问第二个。

最佳答案

首先,我们需要了解内部存储、外部存储(又名主外部存储)和辅助外部存储之间的区别是什么?

内部存储:是用户无法访问的存储,除非通过已安装的应用程序(或通过对设备进行 root)。例子:data/data/app_packageName

主要外部存储:内置共享存储,“用户可以通过插入 USB 数据线并将其作为驱动器安装在主机上来访问”。示例:当我们说 Nexus 5 32 GB 时。

辅助外部存储:可移动存储。示例:SD 卡。

getExternalStorageDirectory ()

返回主外部存储目录路径

要访问可移动 SD(二级外部存储),有以下 API:

getExternalFilesDirs()、getExternalCacheDirs()getExternalMediaDirs()

查看文档以获取更多信息

关于Android 不保存到 SD 卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29246159/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com