2016-10-26 3 views
0

私は内部ストレージに保存されたテキストファイルを読むための解決策が必要です。 私はそれを行ごとに読みたくありません。完全なテキストファイルを読み込んで文字列に格納する方法をループすることなく使用できます。アンドロイドでループせずに完全なファイルを読む

あなたは大きなバイトのバッファを使用して、いくつかの効率得ることができます
BufferedReader br; 
String line; 
String data = ""; 
// String text=""; 
try { 
    br = new BufferedReader(new FileReader(new File(Environment.getExternalStorageDirectory(), "queue_mgr.txt"))); 
    while ((line = br.readLine()) != null) { 
     sb.append(line); 
    } 
    br.close(); 
} 
+1

の可能な複製を[Javaでループを使用せずに完全なファイルを読む](http://stackoverflow.com/questions/14169661/read-complete-file-without-using-loop-in-java) –

+0

私はこのソリューションがAndroidでは動作しないと思います。 – iguarna

+0

あなたは何をしたいですか?あるレベルでループするでしょう。テキストファイルをコピーするAPIがあったとしても、そのAPIの実装は何らかのループを繰り返すことになります。より効率的なものをお望みなら、テキストの代わりに大きなバイトバッファを使うことができます。下の私の答えを見てください。 –

答えて

0

try 
{ 
    InputStream in = new FileInputStream (from); 
    OutputStream out = new FileOutputStream (to); 

    // Transfer bytes from in to out 
    byte[] buf = new byte[1024 * 10]; // 5MB would be about 500 iterations 
    int len; 
    while ((len = in.read (buf)) > 0) 
    out.write (buf, 0, len); 

    in.close(); 
    out.close(); 
    } 
} 
catch (FileNotFoundException e) 
{ 
    ... 
} 
catch (IOException e) 
{ 
    ... 
} 
+0

この例では、大きなデータファイルを読み込みます。 –

+0

試してみてください。それは動作しますか? –

関連する問題