繁体   English   中英

如何仅存储在外部存储存储器/ sdcard0 /上?

[英]How to store only on external storage storage/sdcard0/?

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

我需要在外部存储设备上存储大量图像。如何实现?如何在外部存储设备上获取路径?

如何获得外部存储的路径?

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

文档

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

首先找到外部存储的路径

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();
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM