Android openFilOutput_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > Android openFilOutput

Android openFilOutput

 2010/12/27 9:45:29  aceaddi  http://aceaddi.javaeye.com  我要评论(0)
  • 摘要:在此向大家介绍一本非常好的Android方面的书,是由台湾Android开发高手高焕堂编写的如果想要,请到http://www.henii.com下载!谢谢!之前也看到过类似的资料,但是都只是带了一下,说android也可以通过openFileOutput保存数据,没有具体说明怎么保存。今天稍微讲解一下:FileOutputStreamos=Activity.this.openFileOutput("txtme.txt",MODE_PRIVATE);--->
  • 标签:android
在此向大家介绍一本非常好的Android方面的书,是由台湾Android开发高手高焕堂编写的
如果想要,请到 http://www.henii.com 下载!谢谢!

之前也看到过类似的资料,但是都只是带了一下,说android也可以通过openFileOutput保存数据,没有具体说明怎么保存。今天稍微讲解一下:
FileOutputStream os=Activity.this.openFileOutput("txtme.txt",MODE_PRIVATE);
--->在/data/data/包名/files/目录下会创建txtme.txt文件(如果该文件不存在的话),
MODE_PRIVATE的文件是应用程序私有的 ,MODE_WORLD_READABLE则所有应用程序都可以访问的,MODE_WORLD_WRITEABLE所有应用程序都可以写,mode_APPEND则是如果要创建的文件存在则新写入的数据不会覆盖以前的数据。

具体java源码:
package com.henii.android;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import com.henii.service.FileService;

import android.content.Context;
import android.test.AndroidTestCase;
import android.util.Log;

public class DataSaveTest extends AndroidTestCase {
private static final String TAG = "DataSaveTest";

public void testSave() throws Exception{
//openFileOutput方法的第一个参数用于指定文件名称,不能包含路径分割符“/”,
//参数二为对文件的访问权限,如果希望有多个权限,则写成如下形式:
//Context.MODE_PRIVATE + Context.MODE_APPEND (注意是用“+”号)
//如果文件不存在,Android会自动创建它。
//创建的文件保存在/data/data/Activity所在的包/files目录,
//如/data/data/com.henii.android/files/myText.txt,
//--------------------------------------------------------
//通过Window-Show View-Other,在对话窗口中展开Android文件夹,
//选择下面的File Explorer视图,就可以看到创建的文件了
//-------------------------------------------------------
//this.getContext方法获取相应的当前应用Activity的上下文环境
FileOutputStream outStream = this.getContext().openFileOutput("myText.txt", Context.MODE_PRIVATE + Context.MODE_APPEND);

FileService.save(outStream, "Henii");
}

public void testRead()throws Exception{
//如果您要读取其他应用的文件的话,你要完整写出这个文件的路径,如:
//如/data/data/com.henii.android/files/myText.txt,
//而且不能使用openFileInput方法(因为这个方法的参数是不能带分隔符“/”的)
//所以您只能使用最一般的读取文件的方法进行读取
FileInputStream inStream = this.getContext().openFileInput("myText.txt");

String henii = FileService.read(inStream);

Log.i(TAG, henii);
}
}
发表评论
用户名: 匿名