2017-09-06 1 views
0

によって資産フォルダの外にファイルを開きます。しかし、どうすればそれを開くことができますか?は、私はAPKのルートでバイナリファイルを持っていると私はでそれを確認することができますassetManager

assets.open("/test.bin") 

私はFileNotFoundExceptionをが直面している:私はこのコードを使用してファイルを開こうとするので
。 。

+1

あなたは資産のディレクトリにファイルを置く必要があります。それが何であれ、ルートにはありません。 – greenapps

+0

@greenappsファイルはもともと依存関係(external jar)にあり、コンパイル後apkのルートに表示されます。 – paykoob

答えて

0

は最終的に、私の代わりにassetManagerのgetResourceAsStream())のgetClassを(使用してsolove:

public byte[] loadBinAsset(String name) { 
    AssetManager assets = context.getResources().getAssets(); 
    InputStream stream = null; 
    try { 
     try { 
      stream = assets.open(name); 
     } catch (IOException e) { 
      stream = context.getClass().getResourceAsStream("/" + name); 
     } 
     return readFully(stream); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } finally { 
     try { 
      if (stream != null) { 
       stream.close(); 
      } 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
    return null; 
} 
関連する問題