Android——文件的保存和读取

Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中。可以使用Context.MODE_APPEND

Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。

Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件。

MODE_WORLD_READABLE:表示当前文件可以被其他应用读取;MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。

如果希望文件被其他应用读和写,可以传入:

openFileOutput("itcast.txt", Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);

android有一套自己的安全模型,当应用程序(.apk)在安装时系统就会分配给他一个userid,当该应用要去访问其他资源比如文件的时候,就需要userid匹配。默认情况下,任何应用创建的文件,sharedpreferences,数据库都应该是私有的(位于/data/data/<package
name>/files),其他程序无法访问。除非在创建时指定了Context.MODE_WORLD_READABLE或者Context.MODE_WORLD_WRITEABLE ,只有这样其他程序才能正确访问。

l

如果要打开存放在/data/data/<package name>/files目录应用私有的文件,可以使用Activity提供openFileInput()方法。

FileInputStream inStream = this.getContext().openFileInput("itcast.txt");

Log.i("FileTest", readInStream(inStream));

readInStream()的方法请看本页下面备注。

或者直接使用文件的绝对路径:

File file = new File("/data/data/cn.itcast.action/files/itcast.txt");

FileInputStream inStream = new FileInputStream(file);

Log.i("FileTest", readInStream(inStream));

注意:上面文件路径中的“cn.itcast.action”为应用所在包,当你在编写代码时应替换为你自己应用使用的包。

对于私有文件只能被创建该文件的应用访问,如果希望文件能被其他应用读和写,可以在创建文件时,指定Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE权限。

Activity还提供了getCacheDir()和getFilesDir()方法:

getCacheDir()方法用于获取/data/data/<package
name>/cache目录

getFilesDir()方法用于获取/data/data/<package
name>/files目录

l

-----------------------------------------------------------

public class FileService

{

private Context context;

public FileService(Context
context)

{

this.context =
context;

}

/**

* openFileOutput()方法的第一参数用于指定文件名称,不能包含路径分隔符“/” ,如果文件不存在,Android

* 会自动创建它。创建的文件保存在/data/data/<package
name>/files目录,如:

* /data/data/cn.itcast.action/files/itcast.txt ,通过点击Eclipse菜单“Window”-“Show

* View”-“Other”,在对话窗口中展开android文件夹,选择下面的File
Explorer视图,然后在File

* Explorer视图中展开/data/data/<package
name>/files目录就可以看到该文件。

*/

public void save(String
fileName, String content) throws Exception

{

/*
openFileOutput()方法的第二参数用于指定操作模式,有四种模式,分别为:

*  Context.MODE_PRIVATE = 0

* Context.MODE_APPEND = 32768

* Context.MODE_WORLD_READABLE = 1

* Context.MODE_WORLD_WRITEABLE = 2

*/

FileOutputStream stream = context.openFileOutput(fileName,
Context.MODE_PRIVATE);

stream.write(content.getBytes());

stream.close();

}

/**

* 读取文件内容

@param fileName 文件名称

@return

@throws Exception

*/

public String
readFile(String fileName) throws Exception

{

String fileContent = "";

StringBuffer content = new StringBuffer();

FileInputStream stream = context.openFileInput(fileName);

byte[]
buffer = new byte[1024];

int len
= 0;

while((len=stream.read(buffer))
!= -1)

{

fileContent = new String(buffer,
0, len);

content.append(fileContent);

}

System.out.println(content.toString());

return content.toString();

}

}

==========================================================================

Android——文件的保存和读取

时间: 2024-08-26 23:53:45

Android——文件的保存和读取的相关文章

Android采用SharedPreferences方式进行文件的保存与读取

工程目录: 做软件开发应该都知道,很多软件会有配置文件,里面存放这程序运行当中的各个属性值,由于其配置信息并不多,如果采用数据库来存放并不划算,因为数据库连接跟操作等耗时大大影响了程序的效率,因此我们使用键值这种一一对应的关系来存放这些配置信息.SharedPreferences正是Android中用于实现这中存储方式的技术. 下面直接贴实现代码: package peixun.savaparameter.service; PreferenceService类: <span style="

Android开发系列(五):Android应用中文件的保存与读取

在本篇博客中,我们要实现在Android中"新建文件"和"读取文件": 目标界面: 在输入文件名称之后,输入文件内容,点击保存,可以保存成为一个文档 首先,我们先建立一个Android Project项目,项目名称:File. 然后,我们需要先实现目标视图中的界面: 编辑strings.xml文件: <?xml version="1.0" encoding="utf-8"?> <resources> &

C语言中关于文件的保存和读取的程序

#include<stdio.h> int main(int argc,const char*argv[]) { //文件的保存 FIlE * fp1; fp1=fopen("//users//huangqiaoping//Desktop//ok.txt","w"); fprintf(fp1,"兄弟连 我来了"): int hp=100; fprintf(fp1,"\n是时候奋斗一下了%"): fclose(fp1

android文件的写入与读取---简单的文本读写context.openFileInput() context.openFileOutput()

最终效果图,点击save会保存到文件中,点击show会从文件中读取出内容并显示. main.xml [xhtml] view plain copy <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:<a href="http://lib.csdn.net/base/15" class='replace_word' title="Android知识

js 对XML文件的保存与读取

一.保存 function exportToXml(jsonStr){ var obj = eval('('+ jsonStr + ')'); var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); //创建两条处理指令 var newPI=xmlDoc.createProcessingInstruction("xml","version=\"1.0\" encoding=\"u

我的Android 4 学习系列之文件、保存状态和首选项

目录 使用Shared Preference 保留简单的应用程序数据 保存回话间的Activity实例数据 管理应用程序首选项和创建Preference Screen 保存并加载文件以及管理本地文件系统 将静态文件作为外部资源添加 使用Shared Preference 保留简单的应用程序数据 Shared Prefrence 是一种简单的.轻量级的名/值对(NVP)机制,用于保存原始应用程序数据,最常见的是用户的应用程序首选项. Android 中的数据持久化技术为平衡速度.效率和健壮性提供了

【Android先进】如何使用数据文件来保存程序

在程序,有许多方法来存储和检索数据,本文,它描述了如何使用文件系统来保存数据编程和读取操作 我直接写了一个帮助类,进行文件的写入和读取操作 /** * 用于在文件里保存程序数据 * * @author zhaokaiqiang * */ public class FileHelper { private static final String TAG = "FileHelper"; private Context mContext; FileHelper(Context _mConte

python基础:json文件保存与读取

一.将数据保存为.json文件 1 model={} #数据 2 with open("./hmm.json",'w',encoding='utf-8') as json_file: 3 json.dump(model,json_file,ensure_ascii=False) 4 二.读取.json文件 1 model={} #存放读取的数据 2 with open("./hmm.json",'r',encoding='utf-8') as json_file:

读取视屏文件,保存帧图片为ppm文件

ffmpeg跟sdl的学习过程:一.版本信息:ffmpeg-3.0.2.tar.bz2SDL2-2.0.4.tar.gz二.编译过程:1.ffmgeg的编译:./configure --enable-shared --disable-yasm --prefix=/usr/local/ffmpegmakemake install 2.sdl的编译:./configure --prefix=/usr/local/sdlmakemake install 3.系统环境配置:查看/etc/ld.so.co