Mega Code Archive

 
Categories / Android / Hardware
 

External Storage Directory

package app.test; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import android.app.Activity; import android.os.Bundle; import android.os.Environment; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class Test extends Activity {   private EditText textBox;   private static final int READ_BLOCK_SIZE = 100;   @Override   public void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.main);     InputStream is = this.getResources().openRawResource(R.raw.textfile);     BufferedReader br = new BufferedReader(new InputStreamReader(is));     String str = null;     try {       while ((str = br.readLine()) != null) {         Toast.makeText(getBaseContext(), str, Toast.LENGTH_SHORT)             .show();       }       is.close();       br.close();     } catch (IOException e) {       e.printStackTrace();     }     textBox = (EditText) findViewById(R.id.txtText1);     Button saveBtn = (Button) findViewById(R.id.btnSave);     Button loadBtn = (Button) findViewById(R.id.btnLoad);     saveBtn.setOnClickListener(new View.OnClickListener() {       public void onClick(View v) {         String str = textBox.getText().toString();         try {           /*            * //---Internal Storage--- FileOutputStream fOut =            * openFileOutput("textfile.txt", MODE_WORLD_READABLE);            *            */           File sdCard = Environment.getExternalStorageDirectory();           File directory = new File(sdCard.getAbsolutePath()               + "/MyFiles");           directory.mkdirs();           File file = new File(directory, "textfile.txt");           FileOutputStream fOut = new FileOutputStream(file);           OutputStreamWriter osw = new OutputStreamWriter(fOut);           osw.write(str);           osw.flush();           osw.close();           Toast.makeText(getBaseContext(),"File saved successfully!", Toast.LENGTH_SHORT).show();           textBox.setText("");         } catch (IOException ioe) {           ioe.printStackTrace();         }       }     });     loadBtn.setOnClickListener(new View.OnClickListener() {       public void onClick(View v) {         try {           // ---SD Storage---           File sdCard = Environment.getExternalStorageDirectory();           File directory = new File(sdCard.getAbsolutePath()               + "/MyFiles");           File file = new File(directory, "textfile.txt");           FileInputStream fIn = new FileInputStream(file);           InputStreamReader isr = new InputStreamReader(fIn);           char[] inputBuffer = new char[READ_BLOCK_SIZE];           String s = "";           int charRead;           while ((charRead = isr.read(inputBuffer)) > 0) {             String readString = String.copyValueOf(inputBuffer, 0,                 charRead);             s += readString;             inputBuffer = new char[READ_BLOCK_SIZE];           }           textBox.setText(s);           Toast.makeText(getBaseContext(),               "File loaded successfully!", Toast.LENGTH_SHORT)               .show();         } catch (IOException ioe) {           ioe.printStackTrace();         }       }     });   } } //raw/textfile.txt The quick brown fox jumps over the lazy dog // main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:orientation="vertical"     android:layout_width="fill_parent"     android:layout_height="fill_parent"     >      <TextView       android:layout_width="fill_parent"      android:layout_height="wrap_content"      android:text="Please enter some text"     /> <EditText     android:id="@+id/txtText1"      android:layout_width="fill_parent"     android:layout_height="wrap_content" />      <Button      android:id="@+id/btnSave"     android:text="Save"       android:layout_width="fill_parent"      android:layout_height="wrap_content" /> <Button      android:id="@+id/btnLoad"     android:text="Load"       android:layout_width="fill_parent"      android:layout_height="wrap_content" /> </LinearLayout>