欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android 文件操作方法

程序员文章站 2023-11-26 19:06:46
数据存储与访问常用方式:文件sharedpreferences(偏好参数设置)sqlite数据库内容提供者(content provider)网络 activity(...

数据存储与访问常用方式:
文件
sharedpreferences(偏好参数设置)
sqlite数据库
内容提供者(content provider)
网络

activity(context)
context.getcachedir()方法用于获取/data/data/<package name>/cache目录
context.getfilesdir()方法用于获取/data/data/<package name>/files目录

activity(context)提供了openfileoutput(filename,mode)方法用于把数据输出到文件中;
第一个参数用于指定文件名称,不能包含路径分隔符‘/'
第二个参数为操作模式:
context.mode_private:私有操作模式创建出来的文件只能被本程序访问,如果文件不存在,会自动创建,另外:写入文件中的内容会覆盖原文件的内容;
context.mode_append:模式会检查文件是否存在,如果存在则会追加内容,否则创建新文件;
context.mode_readable:表示当前文件可以被其它应用读取;
context.mode_writeable:表示当前文件可以被其它应用写入;
如果希望文件被其它应用读和写:传入(context.mode_readable+context.mode_writeable)
fileoutputstream outstream = context.openfileoutput(filename,context.mode_private);
//param 文件名称,操作方式

android有一套自己的安全模型,当应用程序(.apk)在安装时系统会分配给一个userid,当该应用去访问其它资源如文件的时候,会进行 userid的匹配,默认情况下任何应用创建的文件,sharedpreferences,数据库都是私有的(创建的文件保存在/data/data /<package name>/files目录下),只有指定操作模式为外部可读或写才可以被其它程序访问;

读取文件:
<1>
fileinputstream instream = context.openfileinput(filename);
log.i(tag,instream....)

<2>
path="/data/data/<package name>/files/hello.txt";
file file = new file(path);
fileinputstream instream = new fileinputstream(file);
log.i(tag,instream....)

ctrl + shift + x/y 大小写