android - 写入SD卡

标签 android

我有一个非常小的问题。我正在写一个文件到 sdcard。我给你看两个代码,一个代码有效,另一个无效。它看起来像这样: 第一个,

new FileOutputStream("/sdcard/HelloWorld.txt")

这工作正常并在 sdcard 中创建了一个 HelloWorld.txt 文件。

现在是第二个,

  new FileOutputStream(android.os.Environment.getExternalStorageDirectory()+java.io.File.separator + "filetest" + java.io.File.separator + "HelloWorld.txt")

这会引发错误“/mnt/sdcard/filetest/HelloWorld.txt(没有这样的文件或目录)”。 我想知道为什么因为我的设备上有 mnt/sdcard 路径,如果是,它是否找不到 filetest 文件夹,那么如果之前没有创建它是否应该创建 filetest 文件夹。

谢谢。

最佳答案

如果filetest不可用,先创建一个目录,

File file = new File(android.os.Environment.getExternalStorageDirectory()+java.io.File.separator + "filetest");

file.mkdir();

然后执行你的代码...

File f =    new File(android.os.Environment.getExternalStorageDirectory()+java.io.File.separator + "filetest" + java.io.File.separator + "HelloWorld.txt");

    if (!f.getParentFile().exists());
    {
        f.getParentFile().mkdir();
    }

关于android - 写入SD卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8603984/

相关文章:

android - 何时使用 fragment backstack 与单独的 Activity ?

android - 自定义 View 的 onMeasure : how to get width based on height

android - 从 Android Studio Gradle 项目的 GIT 中排除的文件,以维护 MAC 和 Windows 中的代码。

android - 华为桌面设置SDK 23+如何授权?

java - 这里导航 API NavigationManager getEta() 总是返回无效/未知

android - "adb shell getprop persist.sys.country"返回空字符串

java - 在 Mac Android Studio 上生成 JavaDoc 时出错

android - 如何在 ConstraintLayout 中将一对 View 居中?

android - 如何读取我的 BLE 设备的所有特征值?

android - 恢复后如何返回到同一个 Activity 实例?