測試平台為 genymotion android emulator
寫檔在Android 裡要去設定 permission
在AndroidManifest.xml 加入
<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
接下來,若要寫檔,會碰到檔案一開始不存在的問題,還有檔案要存放在哪裡。
我用了懶人的做法,使用
openFileInput("filename"); //讀檔用
openFileOutput("filename"); // 寫檔用
filename 不用給路徑,給檔名就好,系統會自動放在一個地方。
網上的人說會放在/data/data/<application-package>/files/<file-name>
我使用其他的寫檔做法如:
File f = new File(name);
if(f.exist()) f.createNewFile();
會失敗,我不知道為什麼開個檔也會失敗,有可能是模擬器的關係。
反正用openFileOutput, openFileInput 就好了。
範例
FileOutputStream fos = openFileOutput("database",Context.MODE_WORLD_WRITEABLE);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos));
....
bw.close();
FileInputStream in = openFileInput("database");
BufferedReader rin = new BufferedReader(new InputStreamReader(in));
...
rin.close();
留言列表