Android文件操作总结

  Android中读取/写入文件的方法,与Java中的I/O是一样的,提供了openFileInput()和openFileOutput()方法来读取设备上的文件。但是在默认状态下,文件是不能在不同的程序之间共享的,以上两个方法只支持读取该应用目录下的文件,读取非其自身目录下的文件将会抛出FileNotFoundException异常。创建的文件存放在/data/data/<package name>/files目录下。

返回值

函数

备注

FileInputStream

openFileInput(String name)

打开指定的私有文件输出流。

name:要打开的文件名,不能包含路径分隔符。

FileOutputStream

openFileOutput(String name,int mode)

打开指定的私有文件输出流。

name:要打开的文件名,不能包含路径分隔符。

mode:操作模式。默认使用0或MODE_PRIVATE,其他模式包括:

l MODE_APPEND:追加

l MODE_WORLD_READABLE

l MODE_WORLD_WRITEABLE

如果调用此函数时,指定的文件不存在,则会自动创建一个空白的文件。

在默认情况下,写入的时候会覆盖原文件的内容。如果要把新写入的内容追加到原文件内容后面,可以指定其模式为Context.MODE_APPEND。

boolean

deleteFile(String name)

删除指定的文件

name:要删除的文件名,不能包含路径

String[]

fileList()

返回与调用这个函数相关的Context的应用程包相关的所有私有文件的文件名

代码案例:

 
读取文件:
//保存读取数据的字节流
ByteArrayOutputStream stream=new ByteArrayOutputStream();

FileInputStream fis = openFileInput(“text1.txt”);
byte[] buffer=new byte[1024];
int len=-1;
while((len=inStream.read(buffer))!=-1) {
stream.write(buffer,0,length);
}

stream.close();
fis.close(); //关闭输入流
text.setText(stream.toString());//显示出来


写入文件:
FileOutputStream fos = openFileOutput(“text1.txt”,MODE_APPEND);
fos.write(text.getText().toString().getBytes());
fos.close(); //关闭输出流
原文地址:https://www.cnblogs.com/makeryan/p/2498225.html