2011-12-08 74 views
1

我想製作epub reader app.Now我只在文件中獲得章節名稱,但是如何在章節中獲得整個數據。如何從epub文件中讀取整個章節?

+0

解釋你到底做了什麼......你用什麼來閱讀epub內容? – Reno

+0

我正在使用epublib庫..我得到標題,作者名稱和所有章節名稱,但我沒有得到章節內的文字。我不知道如何得到它。 – Umesh

+0

@Umesh我也在閱讀epub文件,但是在一些很長的文件中,如果你面對並解決這個問題,那麼請給我一個outOfMemory的錯誤,然後請幫助我。 謝謝 – PankajAndroid

回答

2

我想我已經發布了此前。 使用你可以谷歌的nl.siegmann.epublib。 在我的代碼中,我會告訴你我是如何做的,因爲你看看Book類,它顯示了epub如何工作。 在書課上使用脊柱我得到了本書的最大脊柱,這意味着整本書。 然後我將它轉換爲字符串。

這是我的代碼,我如何做到這一點。

public String getEntireBook() 
    { 
     String line, linez = null; 
     Spine spine = amBook().getSpine(); 
     Resource res; 
     List<SpineReference> spineList = spine.getSpineReferences() ; 

     int count = spineList.size(); 
     int start = 0; 

     StringBuilder string = new StringBuilder(); 
     for (int i = start; count > i; i = i +1) { 
      res = spine.getResource(i); 

       try { 
        InputStream is = res.getInputStream(); 
        BufferedReader reader = new BufferedReader(new InputStreamReader(is)); 
        try { 
         while ((line = reader.readLine()) != null) { 
          linez = string.append(line + "\n").toString(); 
         } 

        } catch (IOException e) {e.printStackTrace();} 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
     } 
     return linez; 
    } 
+0

@sesdfgfgd你能告訴我什麼是脊柱因爲它給我錯誤我也面臨同樣的問題,所以如果你能幫助我。 – PankajAndroid

+0

請閱讀http://www.siegmann.nl/static/epublib/apidocs/上的文件。回答你的問題脊柱是什麼「脊椎:這些是當用戶從頭到尾閱讀本書時顯示的資源。」你可以開始看書課,因爲它顯示了層次結構以及它的工作原理。祝你好運。 – wesdfgfgd