2017-01-03 138 views
-1

我在資產中有多個.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); 
     } 
    } 
} 

,但我想,從資產文件夾.epub文件。我怎樣才能做到這一點?

我也想從.epub文件

1)這個字段名

2)路徑

3)位圖(封面圖片)

這是強制性的我。這隻可能在File但我想要資產.epub文件File

回答

0

如果您的文件在資產文件夾中,那麼它將始終是一個固定的路徑。所以你可以給字符串硬編碼的路徑。

+0

能否請您詳細解釋。 –

+0

我的意思是當你的文件在外部存儲器中時,它們可能有可變路徑。在這種情況下,您需要在運行時獲取路徑。但是現在,當您的文件位於Android的資產文件夾中時,它將始終在所有設備中修復。所以你不需要在運行時獲得路徑。你可以給一個硬編碼的路徑。 &典型的Android Studio項目,您將擁有一個應用程序/模塊,其中包含主/源代碼集(app/src/main/off項目根目錄),因此您的主資源將位於app/src/main/assets/。和名稱:String [] listOfFileName = getContext()。getAssets()。list(「your/path」); – Charu

+0

String [] listOfFileName = getContext()。getAssets()。list(「your/path/inside/asset」); – Charu

1

您可以訪問使用此路徑資產的文件夾 - 「文件:/// android_asset /文件」

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()); 
        } 
       } 
      } 
    } 
+0

在這個'fileList [i] .getName()'我沒有得到'getName()',因爲fileList []是字符串數組 –

+0

直接fileList [我] .endsWith(「。epub」)並跳過.getName()。 因爲fileList數組包含文件名。 –

+0

但我想要那個名字 –