我在资产中有多个.epub文件,我想要listFile
中的所有.epub文件。在我的旧代码中,我使用外部存储文件路径,用于获取.epub文件,如此
File myFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Files" );
File listFile[] = myFile.listFiles();
if (listFile != null && listFile.length > 0) {
for (int i = 0; i < listFile.length; i++) {
if (listFile[i].getName().endsWith(".epub")) {
myNewBookModels = new NewBookModels();
Log.i(TAG, "getEpubFilesFromFileManager: " + ".." + listFile[i].getName());
myNewBookModels.setBookName(listFile[i].getName().toString());
myNewBookModels.setBookPath(listFile[i].getPath().toString());
myNewBookModels.setBitmap(bookLoaded(listFile[i].getName().toString()));
arrayList.add(myNewBookModels);
}
}
}
但我想从assets文件夹中获取.epub文件。我怎么能这样做?
我也想从那个.epub文件中找到这个字段
1)姓名
2)路径
3)位图(封面图像)
对我来说是必须的。这只能在File
中实现,但我需要File
答案 0 :(得分:1)
您可以使用此路径访问资源文件夹 - “file:/// android_asset / files”
OR
//Directory or File name
dirForm = "files";
private void listFiles(String dirFrom) {
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++)
{
File file = new File(fileList[i]);
if ((file.getName()).endsWith(".epub")) {
Log.i(TAG, "getEpubFilesFromFileManager: " + ".." + file.getName() +"Path"+ file.getPath());
}
}
}
}
答案 1 :(得分:0)
如果您的文件位于资产文件夹中,则它始终是固定路径。所以你可以在字符串中给出一个硬编码路径。
答案 2 :(得分:0)
您可以使用AssetManager课程&amp;然后你可以Read files from Assets文件夹。