如何将现有文件夹添加到 android 并使用它们?

How to add existing folder to android and use them?

我正在使用 Lucene 开发移动应用程序。我有一个包含索引文件的文件夹。在应用程序中,我想使用这些索引文件进行搜索。 Lucene 库需要读取此文件夹的路径。我把这个文件夹放在资产文件夹中。但是我无法获取该文件夹的路径。我检查了 Android 存储文档。但是我找不到任何将现有文件夹添加到外部存储的解决方案。如果我将它们添加到外部存储,我可以获得 getExternalFilesDir() 的路径。我正在使用模拟器工作。

Directory dir = FSDirectory.open(Paths.get("path of index folder"));
IndexReader reader = DirectoryReader.open(dir);
searcher = new IndexSearcher(reader);

上面的代码部分在 Java SE 应用程序中运行良好,因为我可以直接给出文件夹的路径。但是在 android 中,我正在使用模拟器工作。如何在 android 中给出索引文件夹的路径?我应该将此文件夹放置在应用程序中的什么位置?

你把它们放到你的assets文件夹里,然后先把assets复制到文件系统上运行。然后你可以将你写的位置传递给Lucene。

公平警告:一年前我尝试使用 Lucene 但不能,因为它使用的 IO 函数未移植到 Android。现在 Java 1.8 已经存在于 Android 上,也许它们已经存在,但如果没有,您将有其他问题需要解决。