【问题标题】:Where does a file get saved when openFileOutput is used? [duplicate]使用 openFileOutput 时文件保存在哪里? [复制]
【发布时间】:2012-05-29 22:13:30
【问题描述】:

是否有可能知道由

创建的文件在哪里
ApplicationContext.openFileOutput(filename, Context.MODE_WORLD_READABLE);

得到存储?我不需要任何java代码来打印路径,应该是getFileStreamPath(filename),我只需要这些文件的默认存储位置。我在 android 的 javadoc 中没有找到任何有用的东西

【问题讨论】:

  • 你接受了错误的答案:见stackoverflow.com/questions/4926027/…。您必须接受@JosephusVillarey 的回答。请这样做 - 这只会令人困惑
  • data > data > your app id > files 例如:/data/data/com.example/files/--myfile.dat--

标签: android file android-sdcard


【解决方案1】:

如果您的手机已root,请查看/data/data。 将有一个包含您的包名称的文件夹,其中包含您保存的所有文件。

但是您需要 root 和一个 root 浏览器来观看这些文件。

【讨论】:

    【解决方案2】:

    看到这个页面:http://developer.android.com/reference/android/os/Environment.html 你可以得到一些目录路径。

    我想,如果你尝试直接使用ApplicationContext.openFileOutput(filename, Context.MODE_WORLD_READABLE);,文件会在手机的根目录下创建,但我不确定,还是在/data中。

    【讨论】:

    【解决方案3】:

    如果您调用getFilesDir() 并对其进行迭代,您可以将您使用的文件名字符串与openFileOutput 进行比较,以创建该文件的确切路径。

    【讨论】:

      【解决方案4】:

      最好遵循 Guillaume 的回答并检查环境以了解 当前 位置。因为 openFileOutput 是 Context 类的一部分,所以它会根据当前使用的基本上下文进行更改。例如,在测试期间,您可以得到一个 RenamingDelegatingContext,它通过重命名文件来覆盖 openFileOutput,并且可以将它们放置在任何需要的位置。

      【讨论】:

        猜你喜欢
        • 2013-08-04
        • 1970-01-01
        • 2014-09-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多