2013-03-31 58 views
0

我想加載Java中的一些資源爲Android。這些資源是簡單的文本文件,我需要閱讀其中的內容。我對閱讀和寫作這些文件有相當多的經驗,但現在有些東西正在打破它。Java的FileInputStream /掃描儀與Android的問題

這是我正在使用的代碼。

FileInputStream fstream = new FileInputStream("file:///android_asset/Peacefulpack.mod"); 

所以,當我運行這個它應該在此目錄中搜索Peacefulpack.modfile:///android_asset/Peacefulpack.mod

然而,當我看看它告訴我的控制檯日誌,這些日誌Java正在尋找此目錄:file:///android_asset/Peacefulpack.mod

這給了我一個FileNotFoundException。我怎樣才能擺脫它?

+0

是否有一個原因,你指定的路徑呢?我的意思是,你可能可以通過'getResources'或'getAssets'等獲得InputStream甚至文件句柄 – Tedil

回答

1

我試圖用Java加載一些資源爲Android。

由於您希望使用存儲在Android預定義目錄中的數據,Android提供了直接爲您的目標指定的方法。

在在AssetManager先來看看它提供以下方法:

最有可能你在找什麼。方法返回文件存儲在資產文件夾中的InputStream

基本用法:

AssetManager am = this.getAssets(); // or YourActivity.this.getAssets() 
    try { // generally Context 
     InputStream is = am.open("yourFile.suffix"); 
    } 
    catch (IOException e) { 
     Log.w("IOException", e.getMessage()); 
    } 

應該解決您的問題。