Android:无法在外部SD卡中保存下载文件

时间:2017-09-12 15:24:00

标签: android

我需要在Android外部SD卡中保存文件。我尝试过使用这个源代码,但它将文件保存在手机的内存中。

这是我的代码。

try {

    File newFolder = new File(Environment.getExternalStorageDirectory(), "TestFolder");

    if (!newFolder.exists()) {
        newFolder.mkdir();
    }

    File file = new File(newFolder, "MyTest" + ".txt");
    if (!file.exists()) {

        file.createNewFile();

    }

    Toast.makeText(MainActivity.this, "Created Successfully!", Toast.LENGTH_SHORT).show();

} catch (Exception e) {
    e.printStackTrace();
}

2 个答案:

答案 0 :(得分:0)

来自文档(https://developer.android.com/reference/android/os/Environment.html#getExternalStorageDirectory()

  

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

答案 1 :(得分:0)

您所指的内部存储实际上是共享存储,Android将其视为外部存储。它取决于用户设置是否要将您的应用程序文件夹存储在SD卡或Android共享空间中。