知识:

Content类中提供了一个openFileOutput()方法,可以用于将数据存储到指定的文件夹中。这个方法接受两个参数,第一个是文件名,文件默认存储到/data/data/package name/files目录中。第二个是文件的操作模式,主要有MODE_PTIVATE和MODE_APPEND。

示例:

1、在android studio 中创建一个FileStorageTest项目。
2、创建完成后修改activity_main.xml中的代码。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <EditText
        android:id="@+id/edtData"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="输入要保存的数据"/>
    <Button
        android:id="@+id/btnWriteToApp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textSize="30sp"
        android:text="写入到内部文件"/>

</LinearLayout>

3、MainActivity中的代码。

public class MainActivity extends AppCompatActivity implements View.OnClickListener{
    private EditText edtData;
    private Button btnWriteToApp;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //初始化控件对象
        edtData =(EditText)findViewById(R.id.edtData);
        btnWriteToApp = (Button)findViewById(R.id.btnWriteToApp);

        btnWriteToApp.setOnClickListener(this);
    }

    public void onClick(View view){
        switch (view.getId()){
            case  R.id.btnWriteToApp:
                writeToApp(edtData.getText().toString());
                break;
        }
    }
    public void writeToApp(String data){
        FileOutputStream out = null;
        try {
            out = openFileOutput("myFile",MODE_PRIVATE);
            out.write(data.getBytes());
            out.flush();// 清理缓冲区的数据流
            out.close();// 关闭输出流
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

在onCreate()方法中获取EditText和Button的实例,为Button添加一个监听事件。在onClick方法中获取EditText输入的内容,用writeToApp()方法把输入的内容保存到内部文件中,命名为“myFile”。
weiteToApp()方法,传入data(字符串)用openFileOutput(“文件名”,操作模式)方法获取一个对象“out”,使用out中的write()方法在文件中写入输入的内容保存,最后清理缓冲区的数据流并且关闭输出流。
4、运行点击按钮
在这里插入图片描述
5、是否保存成功可以借助Device File Explorer查看。进入到data/data/package name/files/目录下,可以看到生成了myFile文件将其保存到桌面用记事本打开则看到输入的内容。
在这里插入图片描述
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐