2016-10-20 4 views
2

私はassetsでファイルを取得しようとしていますが、コードを実行するとFileNotFound例外がスローされます。私はgetAssets().list(".")とチェックして、実際にはアンドロイドはassetsディレクトリのファイルを検出しませんが、私はファイルをassetsフォルダに入れます。私はアンドロイドの専門家ではなく、何が間違っているのか理解するのを助けるためにコミュニティの助けを借りています。 FileNotFound - アセットファイルを取得するとき

は私のコードを怒鳴る従ってください:

try { 
      Log.i("PEDRO", Arrays.toString(getResources().getAssets().list("."))); 
     } catch (IOException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } 

の検索結果を:[]

try { 
      Log.i("PEDRO", Arrays.toString(getApplicationContext().getAssets().list("."))); 
     } catch (IOException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } 

結果:[]

ファイルがassetsディレクトリにあります。

try { 
      InputStream input = 
        Definitions.appContext.getAssets().open("iot.neo..........com.bks"); 



     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

​​私は、アプリケーションの開発のためのAndroid Studioを使用することがあまり重要である知っているが、それは前Android Studioに変更されますレガシーコードだから、私は日食でそれをやっています(私はその責任を負いません)。

ありがとうございます!

答えて

2

削除してください「」:

 try { 
      Log.d("PEDRO", Arrays.toString(getApplicationContext().getAssets().list(""))); 
     } catch (IOException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } 
+0

をこの方法、私はファイルのリストを見つけましたが、なぜ私は、ファイルを開いて、 'InputStream'で' FileNotFound'を得ることができませんか? –

+0

'getApplicationContext()。getAssets()...'に 'Definitions.appContext ...'を置き換えてみてください。 –

関連する問題