Activity提供了openFileOutput()方法可以用于把数据输出到文件中 具体的实现过程与在J SE环境中保存数据到文件中是一样的
public class FileActivity extends Activity {
@Override public void onCreate(Bundle savedInstanceState) {
&#
FileOutputStream outStream = this openFileOutput(&# itcast txt&# Context MODE_PRIVATE)
outStream write(&# 传智播客&# getBytes())
outStream close()
}
}
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目录就可以看到该文件
openFileOutput()方法的第二参数用于指定 *** 作模式 有四种模式 分别为 Context MODE_PRIVATE ?=?
Context MODE_APPEND ?=?
Context MODE_WORLD_READABLE =?
Context MODE_WORLD_WRITEABLE =?
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)
lishixinzhi/Article/program/yd/201404/30438在平常使用Android手机的时候,我们都知道,几乎每一个app都在/data/data/<相应的包名>的文件夹下保存数据。那这些数据怎么进行保存的呢?在这里,将简单的介绍一下。
Context类中有一个openFileOutPut方法,这个方法可以将我们的数据保存在data目录下的文件里面。
openFileOutput(String name, int mode)方法中带两个参数,第一个参数是文件名,这里只能写文件的名字,不能包含路径,因为所有的数据都保存在/data/data/<应用包名>/files/目录下;第二个参数是文件的 *** 作模式,有MDOE_PRIVATE,MODE_APPEND,MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE。
其中MODE_PRIVATE模式的是默认的 *** 作模式,每一次写入的内容时,都会覆盖前面的内容;MODE_APPEND模式表示的是每次写入的内容追加在前面的后面;MODE_WORLD_READABLE表示的是其他应用程序可以对该文件进行写的 *** 作;MODE_WORLD_WRITEABLE表示的是其他应用程序可以对该文件进行读的 *** 作。不过在后面的两种模式过于危险,google已经在Android 4.2中废弃了。
openFileOutput()方法返回的是一个FileOutPutStream的对象,得到了这个对象,就可以使用Java的IO流来对文件的使用了。
点击保存过后,就会把我们的数据保存在data目录下。
如果我们想要查看的话,就可以在Android studio(我是2.3.2的版本)中找到Tools->Android->Android Device Monitor
再打开/data/data/<应用包名>/files/,发现有一个文件,就是我们之前创建的一个文件。
我们可以点击右上角的图标进行相应的导出工作,对相应的文件进行导出 *** 作。
在Context类中,与openFileOutput方法对应的是openFileInput方法,用户从data目录读取相应的数据。这个方法相较于openFileOutput方法简单一些。
效果示意图:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)