【问题标题】:Android accessing files in a required Java projectAndroid 访问所需 Java 项目中的文件
【发布时间】:2014-01-30 15:33:43
【问题描述】:

在我的 Eclipse 中,我有一个 Java 项目(我们将其命名为项目 A)。 这个项目有一个文件夹“dic”,里面有一些文件,我使用这段代码来访问这些文件:

    File[] listOfFiles = new File("dic").listFiles(); 
    for (int i = 0; i < listOfFiles.length; i++) { (...)

这在项目 A 中执行时完美运行。

现在我需要在 Android 项目(项目 B)中使用项目 A 中的类。我已将项目 A 包含在项目 B 的构建路径中,并且没有出现编译错误。

但是当我尝试在 Android 设备上执行上面的代码时,它似乎是在检查手机文件系统而不是项目 A 上的文件系统,所以它找不到文件。

如何从项目 B 访问项目 A 中的文件?有没有办法替换项目A中的代码,这样在项目A和B中都可以直接使用?

【问题讨论】:

  • 不太可能,因为 Android 应用程序在不同的机器上运行(在这种情况下是 Android 设备)。 Yuo 需要以某种方式在 android proyect 中包含“dic”文件夹,或者将它们放在服务器中并从服务器中读取它们。

标签: java android eclipse file


【解决方案1】:

将项目 A 中的 dic 文件夹复制到 assets 文件夹。并从那里访问文件夹,因为项目 A 的文件系统是您计算机的硬盘,而 android 从移动设备读取文件系统

    Resources res = getResources(); //if you are in an activity
    AssetManager am = res.getAssets();
    String fileList[] = am.list(dirFrom);

    if (fileList != null)
    {   
        for ( int i = 0;i<fileList.length;i++)
        {
           Log.d("",fileList[i]); 
        }
    }

此代码来自旧问题android list files contained in assets subfolder

【讨论】:

  • 我想到了与此非常相似的东西(尽管我很欣赏这个答案,因为我还是 Android 新手,我正在学习使用 android 资源),但我看到两个问题那个解决方案:我需要两个地方的文件,我需要 Java 和 Android 的不同方法。有什么办法可以避免吗?
猜你喜欢
  • 2012-11-08
  • 2012-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多