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 wl.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);
}
}