我有一个完整的文件夹结构,我想从我的 Assets 文件夹中复制。但是,mContext.getAssets().open() 似乎只需要一个文件名,以便它可以返回一个 InputStream,它只适用于复制单个文件。我需要的是一个由我的 Assets 文件夹中的文件夹制作的文件,以便我可以递归所有文件和文件夹并将它们全部复制。
有人知道如何获取 assets 文件夹的路径以便我可以创建 File 对象吗?
编辑:经过一些研究,您似乎无法使用绝对路径访问 assets/和 raw/文件夹中的文件,从而能够创建 File 对象。它可能与应用程序包的加密有关。我希望有人能证明我错了!
最终编辑:我最终创建了一个字符串数组来保存额外的 Assets 文件:
private static final String[] DEFAULT_ALBUM_FILES =
{INTRO_TO_FLASHUM_DIR+"03 Never Can Say Goodbye.m4a",
INTRO_TO_FLASHUM_DIR+"11 Bossa Baroque.m4a",
INTRO_TO_FLASHUM_DIR+"intro fling.3gp"};
然后,我使用 mContext.getAssets().open() 逐个复制每个文件以获取 InputStream。我认为目前无法使用正常的文件操作遍历 Assets 中的文件夹。
最佳答案
AssetManager am = con.getAssets();//u have get assets path from this code
InputStream inputStream = null;
inputStream = am.open("file.xml");
或
String file_name="ur.xml"
inputStream = am.open("foldername/"+ur);
关于android - 如何获取应用包中Android assets文件夹的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5860873/