【问题标题】:How to get the path of file in android project如何获取android项目中文件的路径
【发布时间】:2014-11-12 09:33:01
【问题描述】:

我在 android eclipse 中有一个项目,它将在 android 模拟器上运行。 在我的项目中,我将一些 xlf(xml 格式)文件放在文件夹 translations 中。我会阅读并解析它们。但似乎我总是失败。 我的项目的结构就像附件图片

TC01_OSNdemo.java 是我的主包。 在其中,我编写了代码来解析“translations”文件夹中的 xml 文件。 但似乎无论在绝对路径、相对路径等方面都失败了......

我的方法1:相对路径

String FileName = "./translations/myosn.mofile.android.zn_CN.xlf"
File tfile = new File(FileName);
                        if (tfile.exists())
                        {
                            System.out.println("zhaotest File exist");
                        }
                        else
                        {
                            System.out.println("zhaotest File Not Exist");
                        }

好像找不到文件

我的方法2.我项目中的绝对路径。

String FileName = "C:\\Users\\****\\workspaceforandroid\\OSNdemo\\translations\\myosn.mofile.android.zn_CN.xlf";

好像找不到文件。

我的方法 3.

String FileName = Environment.getExternalStorageDirectory()+ File.separator+ "OSNdemo" +File.separator + "translations"+File.separator + "myosn.mofile.android.zn_CN.xlf";

似乎找不到文件。 :(

有人可以帮我解决这个问题吗?

非常感谢!

【问题讨论】:

  • 使用assest文件夹放xls文件
  • @NaveenTamrakar,这是否意味着android无法解析xml格式文件?
  • 正如@NaveenTamrakar 所说,您可以使用资产来放置文件,这是如何使用它们的示例stackoverflow.com/a/8475135/4224337
  • 没有它可以解析,但是你把xml文件放在本地服务器上就像应用程序资源中的SD卡一样
  • 不,这意味着您必须将应用程序想要使用的文件放在资产文件夹中。此外,您必须使用资产管理器打开输入流来读取文件。您不能使用 File 类或 FileInputStream 类。文件名应全部小写。

标签: java android junit robotium


【解决方案1】:
assets/

您可以使用它来存储原始资产文件。您在此处保存的文件将按原样编译为 .apk 文件,并保留原始文件名。您可以像使用 URI 的典型文件系统一样导航此目录,并使用 AssetManager 将文件作为字节流读取。例如,这是放置纹理和游戏数据的好位置。

Android Projects structure

【讨论】:

  • 知道了,非常感谢!
猜你喜欢
  • 1970-01-01
  • 2011-02-11
  • 1970-01-01
  • 2017-01-05
  • 2014-11-05
  • 1970-01-01
  • 2015-10-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多