2012-06-14 177 views
0

我把我的文件放在目錄assets中。我如何得到它們? 我試圖按照指示,但都沒有奏效:訪問文件系統

File f = new File("/data/data/ant.BrowserX/files/" + pagCorrente + ".html"); 

File f = new File("file:///android_asset/" + pagCorrente + ".html"); 

沒有錯誤,但運行我不能訪問該文件。我如何訪問「資產」目錄?

編輯

感謝您的訣竅。我有問題使用BufferedReader讀取文件,並初始化它,而不是使用InputStream。

in = new BufferedReader(new FileReader(f)); 

我該怎麼辦?

+0

「/ data/data」目錄只能在擁有根權限的根設備和應用上訪問... – WarrenFaith

回答

2

流,我知道你可以用它來得到的InputStream:

final AssetManager assetMgr = this.getResources().getAssets(); 
    InputStream is = assetMgr.open(pagCorrente +".html"); 

所以也許你可以使用:

File f = new File(this.getResources().getAssets() + pagCorrente + ".html"); 
+0

您知道一種解決BufferedReader問題的方法嗎? – Antilope

4

您可以通過getAssets從文件中獲取一個InputStream()方法中getResources():

InputStream is = getResources().getAssets().open("file.html"); 

然後就轉換成任何你需要

1

簡單的答案是,您不訪問「目錄」資產。 .apk中沒有目錄結構,它只是數據。框架知道如何訪問它(getAssets()),但不能像標準目錄那樣使用它。

話雖這麼說,如果你想使用的WebView和訪問HTML文件(這是什麼樣子),他們把一個「假」的路徑引用你可以使用這樣的:

WebView wv = (WebView)this.findViewById(R.id.yourWebView); 
wv.loadUrl("file:///android_asset/" + pagCorrente + ".html");