openFileOutput简介
绍使用文件如何对数据进行存储,Activity提供了openFileOutput()方法可以用于把数据输出到文件中,用来创建一个文件,上下文的一个方法,返回文件输出流。
openFileOutput的四种模式
用来创建一个文件,上下文的一个方法,返回文件输出流
MODE_PRIVATE:-rw-rw---- 开发用的比较多
MODE_APPEND: -rw-rw----
MODEWORLDWRITEABLE:-rw-rw--w-
MODEWORLDREADABLE:-rw-rw-r--
MODE_PRIVATE:-rw-rw---- 开发用的比较多
MODE_APPEND: -rw-rw----
MODEWORLDWRITEABLE:-rw-rw--w-
MODEWORLDREADABLE:-rw-rw-r--
代码案例
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
@SuppressLint("WorldReadableFiles")
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
//不让 其他应用可以读写本程序的文件
public void click1(View v){
//路径已经默认为data/data/com.exp.permission/files
try {
FileOutputStream fos = openFileOutput("info1.txt", MODE_PRIVATE);
fos.write("MODE_PRIVATE".getBytes());
fos.close();
} catch (Exception e) {
e . printStackTrace ();}
}
//全局可读
public void click2(View v){
//路径已经默认为data/data/com.exp.permission/files
try {
@SuppressWarnings("deprecation")
FileOutputStream fos = openFileOutput("info2.txt", MODE_WORLD_READABLE );
fos.write("MODE_WORLD_READABLE".getBytes());
fos.close();
} catch (Exception e) {
e . printStackTrace ();}
}
//全局可写
public void click3(View v){
//路径已经默认为data/data/com.exp.permission/files
try {
@SuppressWarnings("deprecation")
FileOutputStream fos = openFileOutput("info3.txt", MODE_WORLD_WRITEABLE);
fos.write("MODE_WORLD_WRITEABLE".getBytes());
fos.close();
} catch (Exception e) {
e . printStackTrace ();}
}
//全局可读写
public void click4(View v){//路径已经默认为data/data/com.exp.permission/filestry {@SuppressWarnings("deprecation")FileOutputStream fos = openFileOutput("info4.txt", MODE_WORLD_READABLE | MODE_WORLD_WRITEABLE);fos.write("all".getBytes());fos . close ();} catch ( Exception e ) {e . printStackTrace ();}}
其他应用读取
public void click(View v){
File file = new File("data/data/com.exp.permission/files/info4.txt");
try {
FileInputStream fis = new FileInputStream(file);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
Toast.makeText(this, br.readLine(), 0).show();
} catch (Exception e) {
e . printStackTrace ();}
}