http://www.coderzheaven.com/2012/09/06/read-write-files-sdcard-application-sandbox-android-complete-example/


import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
 
public class MainActivity extends Activity implements OnClickListener {
 
    EditText edittext;
    Button b1, b2, b3, b4;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
         
        edittext = (EditText)findViewById(R.id.ed);
        edittext.setLines(10);
        b1 = (Button)findViewById(R.id.button1);
        b2 = (Button)findViewById(R.id.button2);
        b3 = (Button)findViewById(R.id.button3);
        b4 = (Button)findViewById(R.id.button4);
         
        b1.setOnClickListener(this);
        b2.setOnClickListener(this);
        b3.setOnClickListener(this);
        b4.setOnClickListener(this);        
         
    }
    @Override
    public void onClick(View v) {
        int id = v.getId();
        MyFile file = new MyFile(v.getContext());
         
        switch(id){
            case R.id.button1:
                if(!edittext.getText().toString().trim().equals("")){
                    file.writeToSD(edittext.getText().toString());
                }else{
                    Toast.makeText(v.getContext(), "Please enter some contents for the file", Toast.LENGTH_LONG).show();
                }
                break;
                 
            case R.id.button2:
                edittext.setText(file.readFromSD());
                break;
             
            case R.id.button3:
                if(!edittext.getText().toString().trim().equals("")){
                    file.writeToSandBox(edittext.getText().toString());
                }else{
                    Toast.makeText(v.getContext(), "Please enter some contents for the file", Toast.LENGTH_LONG).show();
                }
                break;
                 
            case R.id.button4:
                edittext.setText(file.readFromSandBox());
                break;
        }
         
         
         
    }
 
}


import java.io. BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
 
import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Environment;
import android.util.Log;
 
public class MyFile {
 
    String TAG = "MyFile";
    Context context;
    public MyFile(Context context){
        this.context = context;
    }
     
    public Boolean writeToSD(String text){
        Boolean write_successful = false;
         File root=null;  
            try {  
                // check for SDcard   
                root = Environment.getExternalStorageDirectory();  
                Log.i(TAG,"path.." +root.getAbsolutePath());  
       
                //check sdcard permission  
                if (root.canWrite()){  
                    File fileDir = new File(root.getAbsolutePath());  
                    fileDir.mkdirs();  
       
                    File file= new File(fileDir, "samplefile.txt");  
                    FileWriter filewriter = new FileWriter(file);  
                    BufferedWriter out = new BufferedWriter(filewriter);  
                    out.write(text);  
                    out.close();  
                    write_successful = true;
                }  
            } catch (IOException e) {  
                Log.e("ERROR:---", "Could not write file to SDCard" + e.getMessage());  
                write_successful = false;
            }  
        return write_successful;
    }
     
    public String readFromSD(){
        File sdcard = Environment.getExternalStorageDirectory();
        File file = new File(sdcard,"samplefile.txt");
        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) {
        }
        return text.toString();
    }
 
    @SuppressLint("WorldReadableFiles")
    @SuppressWarnings("static-access")
    public Boolean writeToSandBox(String text){
        Boolean write_successful = false;
        try{
            FileOutputStream fOut = context.openFileOutput("samplefile.txt",
                    context.MODE_WORLD_READABLE);
            OutputStreamWriter osw = new OutputStreamWriter(fOut); 
            osw.write(text);
            osw.flush();
            osw.close();
        }catch(Exception e){
            write_successful = false;
        }
        return write_successful;
    }
    public String readFromSandBox(){
        String str ="";
        String new_str = "";
        try{
            FileInputStream fIn = context.openFileInput("samplefile.txt");
            InputStreamReader isr = new InputStreamReader(fIn);
            BufferedReader br=new BufferedReader(isr);
            
            while((str=br.readLine())!=null)
            {
                new_str +=str;
                System.out.println(new_str);
            }            
        }catch(Exception e)
        {           
        }
        return new_str;
    }
}


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
 
    <EditText
        android:id="@+id/ed"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:lines="5" android:gravity="top|left"
        android:inputType="textMultiLine"
    android:scrollHorizontally="false"
    android:minWidth="10.0dip"
    android:maxWidth="5.0dip"
        android:layout_weight="1"/>
 
    <Button
        android:id="@+id/button1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Write File to SDCARD" />
     
    <Button
        android:id="@+id/button2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Read File from SDCARD" />
     
    <Button
        android:id="@+id/button3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Write File to Application SandBox" />
     
    <Button
        android:id="@+id/button4"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Read File from Application SandBox" />
 
</LinearLayout>

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

