上一篇学到使用SharedPerences进行数据存储,接下来学习一下使用File进行存储 我们有时候可以将数据直接以文件的形式保存在设备中,
例如:文本文件,图片文件等等
使用File进行存储操作主要使用到以下的
①:public abstract FileInputStream openFileInput (String name)
这个主要是打开文件,返回FileInputStream
②:public abstract FileOutputStream openFileOutput (String name, int mode)
这个主要是写入文件,如果该文件不存在,直接进行创建,返回FileOutputStream
Mode(主要有以下的四种的模式)
MODE_APPEND //在尾部追加
MODE_PRIVATE //私有
MODE_WORLD_READABLE //可读
MODE_WORLD_WRITEABLE //可写
③:FileInputStream(获取文件输入流)与FileOutputStream (获取文件输出流)这两类在JavaIO 操作中很常见
接下来进行操作 保存成功之后讲文件保存在当前应该程序的包名下的files/(可以改变存储的其他路径)
源代码如下:
package com.jiangqq.file;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class FileAcitivy extends Activity
{
private Button bt1, bt2;
private EditText et1, et2;
private static final String FILENAME = "temp_file.txt";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
bt1 = (Button) this.findViewById(R.id.bt1);
bt2 = (Button) this.findViewById(R.id.bt2);
et1 = (EditText) this.findViewById(R.id.et1);
et2 = (EditText) this.findViewById(R.id.et2);
bt1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
write(et1.getText().toString());
Toast.makeText(FileAcitivy.this, "文件写入成功", Toast.LENGTH_LONG)
.show();
}
});
bt2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
et2.setText(read());
Toast.makeText(FileAcitivy.this, "文件读出成功", Toast.LENGTH_LONG)
.show();
}
});
}
// 读文件方法
private String read() {
try {
FileInputStream inputStream = openFileInput(FILENAME);
byte[] b = new byte[inputStream.available()];
inputStream.read(b);
return new String(b);
} catch (Exception e) {
}
return null;
}
// 写文件
private void write(String content) {
try {
FileOutputStream fos = openFileOutput(FILENAME, MODE_APPEND);
fos.write(content.getBytes());
fos.close();
} catch (Exception e) {
}
}
}
源代码下载链接:
http://115.com/file/c2mu1pfd#
Activity_18_File.rar