【问题标题】:How to store only on external storage storage/sdcard0/?如何仅存储在外部存储 storage/sdcard0/ 上?
【发布时间】:2015-03-16 15:05:59
【问题描述】:

我想将数据存储在外部存储和 Environment.getExternalStorageDirectory() 返回 /storage/emulated/0/ 路径,并且当我将数据存储在该目录上时,它将数据存储在 storage/sdcard0/... 和 /storage/emulated/0/

我需要在外部存储设备上存储大量图像 我怎样才能实现它?我怎样才能获得外部存储的路径?

【问题讨论】:

  • 这就是外部存储的路径。函数名不是说的那么多吗?

标签: android android-external-storage


【解决方案1】:

如何获取外部存储路径?

/storage/emulated/0/storage/sdcard0/基本相同,这只是一个别名。在 Nexus 5 等设备和任何其他没有物理 SD 卡的设备上,“外部存储”是指模拟 SD 卡的设备内置存储。 Environment.getExternalStorageDirectory() 将指向此位置,因此您可以使用此方法。

来自docs

注意:不要被这里的“外部”一词所迷惑。这个目录 最好将其视为媒体/共享存储。它是一个文件系统 可以容纳相对大量的数据,并且可以共享 所有应用程序(不强制执行权限)。传统上这是 SD 卡,但它也可以作为内置存储实现 不同于受保护的内部存储的设备,并且可以 作为文件系统安装在计算机上。

【讨论】:

    【解决方案2】:

    首先找到外部存储的路径

    String path = Environment.getExternalStorageDirectory().toString() + directoryName;
    

    然后您可以将任何您想要的内容写入文件,如下所示:

    File file = new File(path, fileName);
            BufferedWriter br;
            try {
                br = new BufferedWriter(new FileWriter(file));
                br.write(content);
                br.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
    

    【讨论】:

    • 这并没有解决所提出的问题,这实际上是一个简单的误解。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多