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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章