【问题标题】:How to store file in Internal storage in android and access them from android phone如何将文件存储在android的内部存储中并从android手机访问它们
【发布时间】:2017-06-15 10:03:10
【问题描述】:

如何在 android 的内部存储中存储文件以及如何在 android 手机中访问它们。我google了很多,发现我们可以存储文件,但只能通过模拟器或手机访问,必须root。

无根手机的解决方案是什么?

以及如何通过给出路径来访问内部存储文件?路径是什么?

请帮助。提前致谢,我们将不胜感激。

【问题讨论】:

  • 我不是你用谷歌搜索的,但它很容易做和找到。 StackOverflow 不是“免费编码服务”
  • 你想存储文本文件吗?
  • @GaneshPatil 任何类型的文件
  • @MaximeLiege 你能否分享一个有用的链接,并成功地将文件保存在 android 的内部存储中,我们可以从 android 手机访问它们,因为你说它很容易......可能是我找错方向了。
  • @Zobi,我真的不知道你怎么找不到这个:developer.android.com/training/basics/data-storage/files.html

标签: java android file android-internal-storage


【解决方案1】:

您可以通过 FileOutput 流来做到这一点:

    String fileName = "file.txt";
    String content = "hello world";

    FileOutputStream outputStream = null;
    try {
       outputStream = openFileOutput(fileName, Context.MODE_PRIVATE);
       outputStream.write(content.getBytes());
       outputStream.close();
} catch (Exception e) {
    e.printStackTrace();
}

注意:这只是写入内部存储的方法,MODE_PRIVATE 表示其他应用无法访问您的文件。 您还需要在清单 xml 中授予 WRITE_EXTRENAL_STORAGE 权限。

这会将文件存储在:data/data/app/files/file.txt

要获取保存在存储中的文件列表,

File dirFiles = mContext.getFilesDir();
for (String fname: dirFiles.list())
{
   Toast.makeText(mContext,fname,Toast.LENGTH_LONG).show();
}

【讨论】:

  • 它将文件存储在 data/data//files 中。当我想在 listview 中显示它们时,如何检索它们?它适用于未植根的手机吗?
  • 老兄,你是认真的吗,有了这个示例代码,你可以轻松检索文件,StackOverflow 不是免费的编码服务。
  • 检查编辑,您可以获得存储的文件列表,然后您可以在列表视图中显示它们。这些都不需要root手机
  • @ShubhamSinghal 非常感谢。它可以在 android 模拟器上成功运行,但不能在 android 手机上运行......有什么想法吗?
  • 在 6.0 以上的 android 版本上,您需要请求写入权限。试试这个:stackoverflow.com/questions/33139754/…
【解决方案2】:

只需使用文件资源管理器应用即可。大多数手机都预装了一部。但是,如果您没有,您可以随时下载您选择的一个。我使用ES File explorer

从那时起,只需导航到您要访问的文件。

希望能回答你的问题。

【讨论】:

  • 我想制作自己的文件资源管理器...为此,我想将文件保存在应用程序的内部存储中,然后检索以显示该文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-25
  • 1970-01-01
  • 2023-03-12
相关资源
最近更新 更多