Android 应用File存储

来源:互联网 发布:mac向上箭头 编辑:程序博客网 时间:2024/04/28 04:58

这里写图片描述

应用程序的文件存储默认保存在:

/data/data//files 目录下

文件读写操作:

FileInputStream fis = openFileInput(“android.bin”);
FileOutputStream fos = openFileOutput(“android.bin”, MODE_APPEND);

生成的android.bin文件存储在/data/data//files/android.bin

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="shortcut.song.com.myapplication.FileTestActivity">    <Button        android:id="@+id/btn_read_file"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="Read-File"/>    <Button        android:id="@+id/btn_write_file"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="Write-File"/>    <EditText        android:id="@+id/edit1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:hint="..."/>    <EditText        android:id="@+id/edit2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:hint="..."/></LinearLayout>
package shortcut.song.com.myapplication;import android.content.SharedPreferences;import android.os.Environment;import android.provider.Settings;import android.support.v7.app.AppCompatActivity;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.IOException;import java.io.PrintStream;public class FileTestActivity extends AppCompatActivity {    final String FILE_NAME = "android.bin";    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_file_test);        System.out.println(new StringBuilder("a").append("b").append("c"));        final Button read = (Button)findViewById(R.id.btn_read_file);        final Button write = (Button)findViewById(R.id.btn_write_file);        final EditText edit1 = (EditText)findViewById(R.id.edit1);        final EditText edit2 = (EditText)findViewById(R.id.edit2);        read.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                edit2.setText(read());            }        });        write.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                write(edit1.getText().toString());                edit1.setText("");            }        });    }   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));           }           fis.close();           return sb.toString();       } catch (IOException 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 (IOException e) {           e.printStackTrace();       }   }}

运行效果:

这里写图片描述
这里写图片描述