2013-07-21 68 views
0

我正在使用PDF查看器庫在Android應用程序中查看PDF。我瀏覽了很多教程,其中之一是Dipak's tutorial。我想訪問存儲在我的資產文件夾中的PDF文件,而不是訪問外部存儲。我的問題是,我無法獲得正確的「路徑」。它總是返回找不到文件。PDF查看器庫的路徑

我試過以下,仍然得到同樣的結果:

  • this.getAssets()
  • 文件:///android_assets/file_name.pdf
  • 文件:/// android_asset /file_name.pdf

回答

1

您無法從資產獲取路徑,必須在sd或內部內存中獲取路徑才能獲取路徑。

對於SD卡

先權限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

然後將它卡寫

File f = new File(Environment.getExternalStorageDirectory() + "file.pdf"); 
    if (!f.exists()) try { 

    InputStream is = getAssets().open("file.pdf"); 
    int size = is.available(); 
    byte[] buffer = new byte[size]; 
    is.read(buffer); 
    is.close(); 


    FileOutputStream fos = new FileOutputStream(f); 
    fos.write(buffer); 
    fos.close(); 
    } catch (Exception e) { throw new RuntimeException(e); } 

    Staring path = f.getPath(); 
+0

'文件f =新的文件( 「目錄中要放置」 + 「/file.pdf」);'會返回找不到的文件。由於該文件尚未寫入目錄 – Yukai

+0

請訪問此鏈接以瞭解如何在SD卡中編寫文件http://stackoverflow.com/questions/8181242/write-to-a-file-in-sd-card -in-android –

+0

試過這個'File f = Environment.getRootDirectory();'還沒找到文件> _ _ – Yukai