Activity提供了openFileOutput()方法可以用於把數據輸出到文件中具體的實現過程與在JSE環境中保存數據到文件中是一樣的
public class FileActivity extends Activity {
@Override public void onCreate(Bundle savedInstanceState) {
;
FileOutputStream outStream = thisopenFileOutput(;itcasttxt; ContextMODE_PRIVATE);
outStreamwrite(;傳智播客;getBytes());
outStreamclose();
}
}
openFileOutput()方法的第一參數用於指定文件名稱不能包含路徑分隔符/ 如果文件不存在Android 會自動創建它創建的文件保存在/data/data/<package name>/files目錄如 /data/data/cnitcastaction/files/itcasttxt 通過點擊Eclipse菜單WindowShow ViewOther在對話窗口中展開android文件夾選擇下面的File Explorer視圖然後在File Explorer視圖中展開/data/data/<package name>/files目錄就可以看到該文件
openFileOutput()方法的第二參數用於指定操作模式有四種模式分別為 ContextMODE_PRIVATE ?=?
ContextMODE_APPEND ?=?
ContextMODE_WORLD_READABLE =?
ContextMODE_WORLD_WRITEABLE =?
ContextMODE_PRIVATE為默認操作模式代表該文件是私有數據只能被應用本身訪問在該模式下寫入的內容會覆蓋原文件的內容如果想把新寫入的內容追加到原文件中可以使用ContextMODE_APPEND
ContextMODE_APPEND模式會檢查文件是否存在存在就往文件追加內容否則就創建新文件
ContextMODE_WORLD_READABLE和ContextMODE_WORLD_WRITEABLE用來控制其他應用是否有權限讀寫該文件
MODE_WORLD_READABLE表示當前文件可以被其他應用讀取MODE_WORLD_WRITEABLE表示當前文件可以被其他應用寫入
如果希望文件被其他應用讀和寫可以傳入
openFileOutput(;itcasttxt; ContextMODE_WORLD_READABLE + ContextMODE_WORLD_WRITEABLE);
android有一套自己的安全模型當應用程序(apk)在安裝時系統就會分配給他一個userid當該應用要去訪問其他資源比如文件的時候就需要userid匹配默認情況下任何應用創建的文件sharedpreferences數據庫都應該是私有的(位於/data/data/<package name>/files)其他程序無法訪問除非在創建時指定了ContextMODE_WORLD_READABLE或者ContextMODE_WORLD_WRITEABLE 只有這樣其他程序才能正確訪問
From:http://tw.wingwit.com/Article/program/yd/201404/30438.html