Complete Android file storage example
MainActivity is as follows:
Package cc. cv; import java. io. bufferedReader; import java. io. bufferedWriter; import java. io. fileInputStream; import java. io. fileOutputStream; import java. io. inputStreamReader; import java. io. outputStreamWriter; import android. OS. bundle; import android. app. activity; import android. content. context; import android. view. view; import android. view. view. onClickListener; import android. widget. button;/*** Demo Description: * detailed example of file storage ** you can use the openFileOutput () method of Context to store data in the file. * The default storage path is/data/
/Files/* The openFileInput () method of Context can be used to read data from files ** common storage methods in Android: * SharedPreferences, database, SD card, and file storage. * The last method is rarely used. Here is an example. * sort it out and review it. ** Note: * you do not need permissions to store files on the SD card. */public class MainActivity extends Activity {private Button mSaveButton; private Button mGetButton; private Context mContext; private String mFileName; @ Overrideprotected void onCreate (Bundle savedInstanceState) {super. OnCreate (savedInstanceState); setContentView (R. layout. main); init ();} private void init () {mContext = this; mFileName = "testData"; mSaveButton = (Button) findViewById (R. id. saveButton); mSaveButton. setOnClickListener (new ClickListenerImpl (); mGetButton = (Button) findViewById (R. id. getButton); mGetButton. setOnClickListener (new ClickListenerImpl ();} private class ClickListenerImpl implements OnClickListener {@ Overri Depublic void onClick (View view) {switch (view. getId () {case R. id. saveButton: saveDataToFile (mContext, mFileName); break; case R. id. getButton: getDataFromFile (mContext, mFileName); break; default: break; }}/ *** save data to File */private void saveDataToFile (Context context, String fileName) {String data = "Hello, All"; FileOutputStream fileOutputStream = null; OutputStreamWriter outputStreamWriter = null; BufferedWriter B UfferedWriter = null; try {fileOutputStream = context. openFileOutput (fileName, Context. MODE_PRIVATE); outputStreamWriter = new OutputStreamWriter (fileOutputStream); bufferedWriter = new BufferedWriter (outputStreamWriter); bufferedWriter. write (data);} catch (Exception e) {e. printStackTrace ();} finally {try {if (bufferedWriter! = Null) {bufferedWriter. close () ;}} catch (Exception e) {e. printStackTrace () ;}}/ *** read data from File */private void getDataFromFile (Context context, String fileName) {FileInputStream fileInputStream = null; InputStreamReader inputStreamReader = null; bufferedReader bufferedReader = null; StringBuilder stringBuilder = null; String line = null; try {stringBuilder = new StringBuilder (); fileInputStream = context. openFileInput (fi LeName); inputStreamReader = new InputStreamReader (fileInputStream); bufferedReader = new BufferedReader (inputStreamReader); while (line = bufferedReader. readLine ())! = Null) {stringBuilder. append (line);} System. out. println ("--->" + stringBuilder. toString ();} catch (Exception e) {e. printStackTrace ();} finally {try {if (bufferedReader! = Null) {bufferedReader. close () ;}} catch (Exception e) {e. printStackTrace ();}}}}
Main. xml is as follows: