安卓文件的存储读取操作,File的各种操作demo (亲测)

来源:互联网 发布:java爬动态网页 编辑:程序博客网 时间:2024/06/06 07:43
MainActivity文件代码如下:
package example.com.myapplication;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.PrintStream;public class MainActivity extends Activity{    final String FILE_NAME = "test.txt";    @Override    public void onCreate(Bundle savedInstanceState)    {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        System.out.println(new StringBuilder("a").append("b").append("c")                .toString());        // 获取两个按钮        Button read = (Button) findViewById(R.id.read);        Button write = (Button) findViewById(R.id.write);        // 获取两个文本框        final EditText edit1 = (EditText) findViewById(R.id.edit1);        final EditText edit2 = (EditText) findViewById(R.id.edit2);        // 为write按钮绑定事件监听器        write.setOnClickListener(new View.OnClickListener()        {            @Override            public void onClick(View source)            {                // 将edit1中的内容写入文件中                write(edit1.getText().toString());                edit1.setText("");            }        });        read.setOnClickListener(new View.OnClickListener()        {            @Override            public void onClick(View v)            {                // 读取指定文件中的内容,并显示出来                edit2.setText(read());            }        });    }    private String read()    {        try        {            // 打开文件输入流            FileInputStream fis = openFileInput(FILE_NAME);            byte[] buff = new byte[1024];            int hasRead = 0;            StringBuilder sb = new StringBuilder("");            while ((hasRead = fis.read(buff)) > 0)            {                sb.append(new String(buff, 0, hasRead));            }            return sb.toString();        }        catch (Exception e)        {            e.printStackTrace();        }        return null;    }    private void write(String content)    {        try        {            // 以追加模式打开文件输出流            FileOutputStream fos = openFileOutput(FILE_NAME, MODE_APPEND);            // 将FileOutputStream包装成PrintStream            PrintStream ps = new PrintStream(fos);            // 输出文件内容            ps.println(content);            ps.close();        }        catch (Exception e)        {            e.printStackTrace();        }    }}
布局文件代码如下:
    <!--?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/edit1"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:lines="4"/>        <Button            android:id="@+id/write"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="write"/>    <EditText        android:id="@+id/edit2"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:editable="false"        android:lines="4"/>    <Button        android:id="@+id/read"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="read"/>    </LinearLayout>

0 0
原创粉丝点击