如何只存储在外部存储/ sdcard0 /?

时间:2015-03-16 15:05:59

标签: android android-external-storage

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

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

2 个答案:

答案 0 :(得分:1)

  

我怎样才能获得外部存储的路径?

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

来自docs

  

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

答案 1 :(得分:0)

首先找到外部存储路径

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