【问题标题】:Is there any way to acces file stored in project folder?有没有办法访问存储在项目文件夹中的文件?
【发布时间】:2010-06-23 12:26:25
【问题描述】:

我的项目 /res/values 文件夹中存储了几个文件,有什么方法可以从我的 android 应用程序中打开和读取这些文件?每个文件都包含有关我的游戏一个级别的文本信息。 我真的很感激任何帮助。

【问题讨论】:

    标签: android file


    【解决方案1】:

    我在这里找到了我需要的东西:
    http://developer.android.com/guide/topics/data/data-storage.html
    "如果您想在编译时在应用程序中保存静态文件,请将文件保存在项目 res/raw/ 目录中。您可以使用 openRawResource() 打开它,并传递 R.raw. 资源 ID。这方法返回一个 InputStream,您可以使用它来读取文件(但您不能写入原始文件)。 "
    对不起,如果我的问题不清楚。
    非常感谢 Radek Suski 提供了一些额外的信息和示例。我很感激。

    【讨论】:

      【解决方案2】:

      据我所知,您可以从项目目录或 SD 卡访问目录“文件”中的文件。 但没有其他文件

      编辑

      FileInputStream in = null;
      InputStreamReader reader = null;
      try {
          char[] inputBuffer = new char[256];
          in = openFileInput("myfile.txt");
          reader = new InputStreamReader(in);
          reader.read(inputBuffer);
          String myText = new String(inputBuffer);
      } catch (Exception e) {;}
      finally {
          try {
              if (reader != null)reader.close();
          } catch (IOException e) {; }
          try {
              if (in != null)in.close();
          } catch (IOException e) {;}
      }
      

      那么您的文件将位于: /data/data/yourpackage/files/myfile.txt

      【讨论】:

      • 所以我可以在我的项目中创建“文件”目录并从我的应用程序访问存储在那里的文件?好的,这正是我需要的。但是这个目录的路径是什么?我尝试使用以下路径打开文件:“/files/1.lvl”,但这不起作用。有什么想法吗?
      • AFIR,您甚至不必创建此目录。查看我的编辑
      • 你的例子很有启发性,非常感谢!但我们似乎有点误会。我需要为游戏创建一些带有“静态只读”地图数据的文件。我的意思是:我决定创建文本文件,而不是编写自己的地图编辑器,其中每个字符代表游戏中地图上的一个对象。所以我创建了几个文件,包含这样的数据,现在我需要用我的游戏 .apk 文件传播它们,这样我就可以在创建地图时轻松阅读这些文件。我从不想在我的应用程序运行期间编辑或创建这些文件,我只在编译程序之前创建一次。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-25
      • 2013-01-27
      • 1970-01-01
      • 1970-01-01
      • 2017-10-25
      相关资源
      最近更新 更多