2017-10-27 9 views
-1

Androidスタジオのテキストファイルから読み込もうとしています。アンドロイドスタジオのファイルからの読み込みと電話でのテスト

FileInputStream fin=new FileInputStream("./quizdata.txt"); 
int size = fin.available(); 
byte[] buffer = new byte[size]; 
fin.read(buffer); 
fin.close(); 

私のコンピュータに接続された電話機でこのテストを実行すると、アンドロイドはこのファイルを見つけられません。私の最高の推測は、ファイルは私の電話ではなく、コンピュータ上にあるべきです。

「はい」の場合、電話機のどの場所にこのファイルを保存する必要がありますか?

ありがとう、

+0

なぜあなたのアプリパッケージにそれを含めると、それから読んで始めてください! – Xenolion

+0

このファイルをアセットフォルダに置き、そこから読み取ることもできます。そうでない場合は、電話機のローカルストレージに保存してから使用することもできます –

答えて

0

あなたのAndroid搭載端末ではなく、Android搭載端末にファイルを追加する必要があります。 アセットフォルダー(src/main/assets)またはローフォルダー(src/res/raw)に保存する必要があります。あなたは生のフォルダに保存した場合

、あなたがそれを読むことができます:すべて取得するには

AssetManager am = context.getAssets(); 
InputStream is = am.open("quizdata.txt"); 

// you don't need to have the file extension. Note that you can't use uppercase 
InputStream is = Context.getResources().openRawResource(R.raw.quizdata); 

アセットフォルダに保存した場合、あなたがそれを読むことができますファイル内の行は、次のコードを使用することができます:

// getting all the line 
BufferedReader r = new BufferedReader(new InputStreamReader(is)); 
StringBuilder quiz = new StringBuilder(); 
String line; 
while ((line = r.readLine()) != null) { 
    quiz.append(line).append('\n'); 
} 
関連する問題