You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android内部存储疑问:用getDir创建的目录为何未在filesDir中显示?

问题解答
  • 核心原因是:getDir() 和 openFileOutput() 操作的是内部存储中不同层级的目录

    • applicationContext.openFileOutput() 创建的文件默认存放在 getFilesDir() 指向的目录(路径通常为 /data/data/[你的包名]/files),所以遍历filesDir能看到myNewFile
    • applicationContext.getDir(dirName, MODE_PRIVATE) 创建的目录,会放在与filesDir同级的独立目录下,路径格式为 /data/data/[你的包名]/app_[dirName]——它不在filesDir的子目录范围内,因此遍历filesDir自然看不到它
  • 验证方式:

    1. 直接调用 getDir("myNewDir", MODE_PRIVATE).getAbsolutePath() 打印路径,就能看到该目录的实际位置
    2. 遍历应用内部存储的根目录(通过context.getFilesDir().getParentFile()获取),就能找到名为app_myNewDir的目录
  • 额外说明:
    Android为应用分配的私有内部存储目录下,除了files,还有cache、app_xxx(getDir创建的)等同级子目录,不同API对应不同的目录入口,彼此独立。

内容的提问来源于stack exchange,提问作者Michel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 16:06:42