Problem: How to read simple text file from SD-card?
Description:
First of all, let me give you a link: Environment class and getExternalStorageDirectory() method, through this method we gets the root directory of sd-card, because if we write only “/sdcard” as a static value then there may be a chance of problem because there may be having /mnt/sdcard as a root directory in some of android devices.
Now, we use this method as below:
File dir = Environment.getExternalStorageDirectory();
And the rest of the procedure I have given and described by making comments in the example so now go through the full solutions provided below with the output snap.
Solution:
ReadFileSDCardActivity.java
package com.paresh.readfilesdcard; package com.paresh.readfilesdcard; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.widget.TextView; /** * @author Paresh N. Mayani * @Website https://technotalkative.com */ public class ReadFileSDCardActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //Find the view by its id TextView tv = (TextView)findViewById(R.id.fileContent); File dir = Environment.getExternalStorageDirectory(); //File yourFile = new File(dir, "path/to/the/file/inside/the/sdcard.ext"); //Get the text file File file = new File(dir,"text.txt"); // i have kept text.txt in the sd-card if(file.exists()) // check if file exist { //Read text from file StringBuilder text = new StringBuilder(); try { BufferedReader br = new BufferedReader(new FileReader(file)); String line; while ((line = br.readLine()) != null) { text.append(line); text.append('n'); } } catch (IOException e) { //You'll need to add proper error handling here } //Set the text tv.setText(text); } else { tv.setText("Sorry file doesn't exist!!"); } } }
Download Full source code from here: Android – Read text file from SD-Card.