【问题标题】:File operations doesn't work sometimes文件操作有时不起作用
【发布时间】:2012-10-27 18:24:48
【问题描述】:

我的应用程序中发生了一些非常奇怪的事情。如果它们不存在,我将在 SD 卡中创建 2 个文件夹,如果它们在 SD 卡中不存在,则从 URL 下载一些图像。 有时,当我运行应用程序时,程序会检查文件夹是否存在以及图像是否存在,因为它们存在,它会继续并且没有任何问题。 但通常当我运行应用程序时,它会提醒我文件夹不存在并且它甚至没有设法创建这些文件夹,然后当它尝试下载图像时我得到一个“找不到文件异常”我的 SD 卡中已经存在。

P.S:我在 2 台设备上尝试过,同样的情况,有时有效,有时无效。

这可能是什么问题?

【问题讨论】:

  • 你当时有没有检查过你设备的sdcard是否挂载到系统上?
  • @user370305 我该如何检查?
  • 每次从 sdcard 访问文件之前,您都必须检查外部存储的状态。看developer.android.com/guide/topics/data/…
  • @user370305 我明白了,如果 sdcard 不可用怎么办?我要等吗?
  • 如果文件很小,则将这些文件临时存储在Internal Storage

标签: java android file directory


【解决方案1】:

实际上,在从外部存储访问文件之前,您必须检查External storage 设备上是否存在(可用)(如果设备的 sdcard 安装在系统上,则可能)。为此,您必须检查外部存储的状态是否已安装。

查看此链接了解更多信息..

http://developer.android.com/guide/topics/data/data-storage.html#filesExternal

现在的解决方案:

如果您发现外部存储不可用,那么您可以将文件临时存储在Internal Storage(然后您可以将这些文件移动到外部存储中)。

所以我的链接还可以帮助您了解如何访问 Android 中的内部存储。

【讨论】:

  • 如果您的文件不是设备内存的负担(体积小),那么让它在内部存储中。没有任何问题。
  • 抱歉耽搁了,我一直在忙其他事情,感谢您的详细回答。一个问题:是否也可以在内部存储中创建文件夹?
  • 是的,您可以在应用程序的内部存储中创建一个文件夹。此外,如果此答案对您有帮助,您可以接受正确答案并投票。这对您和其他用户也有帮助。
  • 我现在正要这样做 :) 非常感谢您的帮助!我现在将在我的应用程序上尝试它,如果我在开发过程中遇到任何问题,如果您仍然可以帮助我,我会很高兴。
  • 如何创建 2 个嵌套文件夹?我设法只创建了一个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-06
  • 1970-01-01
  • 1970-01-01
  • 2019-04-02
  • 1970-01-01
  • 2020-04-15
  • 1970-01-01
相关资源
最近更新 更多