android内部存储示例

我们能够保存或读取设备内部存储器中的数据。 FileInputStream和FileOutputStream类用于读取和写入数据到文件中。
在这里,我们将读取数据并将数据写入设备的内部存储器。
读写数据到android内部存储器的示例
activity_main.xml从面板上拖出2个edittext,2个textviews和2个按钮,现在activity_main.xml文件将如下所示:

< RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" >< EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_marginRight="20dp" android:layout_marginTop="24dp" android:ems="10" >< requestFocus /> < /EditText>< EditText android:id="@+id/editText2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/editText1" android:layout_below="@+id/editText1" android:layout_marginTop="24dp" android:ems="10" />< TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/editText1" android:layout_alignBottom="@+id/editText1" android:layout_alignParentLeft="true" android:text="File Name:" />< TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/editText2" android:layout_alignBottom="@+id/editText2" android:layout_alignParentLeft="true" android:text="Data:" />< Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/editText2" android:layout_below="@+id/editText2" android:layout_marginLeft="70dp" android:layout_marginTop="16dp" android:text="save" />< Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/button1" android:layout_alignBottom="@+id/button1" android:layout_toRightOf="@+id/button1" android:text="read" />< /RelativeLayout>

活动类【android内部存储示例】让我们编写代码以从内部存储中写入和读取数据。
package example.srcmini.com.internalstorage; import android.content.Context; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; public class MainActivity extends AppCompatActivity { EditText editTextFileName, editTextData; Button saveButton, readButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editTextFileName=findViewById(R.id.editText1); editTextData=http://www.srcmini.com/findViewById(R.id.editText2); saveButton=findViewById(R.id.button1); readButton=findViewById(R.id.button2); //Performing Action on Read Button saveButton.setOnClickListener(new View.OnClickListener(){@Override public void onClick(View arg0) { String filename=editTextFileName.getText().toString(); String data=editTextData.getText().toString(); FileOutputStream fos; try { fos = openFileOutput(filename, Context.MODE_PRIVATE); //default mode is PRIVATE, can be APPEND etc. fos.write(data.getBytes()); fos.close(); Toast.makeText(getApplicationContext(), filename +" saved", Toast.LENGTH_LONG).show(); } catch (FileNotFoundException e) {e.printStackTrace(); } catch (IOException e) {e.printStackTrace(); }}}); //Performing Action on Read Button readButton.setOnClickListener(new View.OnClickListener(){@Override public void onClick(View arg0) { String filename=editTextFileName.getText().toString(); StringBuffer stringBuffer = new StringBuffer(); try { //Attaching BufferedReader to the FileInputStream by the help of InputStreamReader BufferedReader inputReader = new BufferedReader(new InputStreamReader( openFileInput(filename))); String inputString; //Reading data line by line and storing it into the stringbuffer while ((inputString = inputReader.readLine()) != null) { stringBuffer.append(inputString + "\n"); }} catch (IOException e) { e.printStackTrace(); } //Displaying data on the toast Toast.makeText(getApplicationContext(), stringBuffer.toString(), Toast.LENGTH_LONG).show(); }}); } }

输出:
android内部存储示例

文章图片
android内部存储示例

文章图片
android内部存储示例

文章图片
android内部存储示例

文章图片
android内部存储示例

文章图片

    推荐阅读