首先要指定檔案儲存的位置,在java中,我們可以直接使用
filefile=new file(“info.txt”),但是在android中,使用這個路徑檔案會被儲存到data/app檔案夾(應用程式根目錄)下,android是不允許在這裡儲存檔案的。android儲存檔案都是儲存在“data/data/包名”檔案夾下的。故應該:
filefile=new file(“data/data/com.xxxx.xxxx/info.txt”);
fileoutputstreamfos=new fileoutputstream(file);
fos.write((檔案内容).getbytes());
fos.close();
檔案将被儲存在軟體的包内的cache檔案夾内,檔案名為info.txt。
也可以使用sdk提供的api來儲存資料,首先介紹一下上下文context的概念:上下文就是一個類,可以獲得應用程式的各種資訊。裡面提供了很多api來獲得應用程式的環境,比如環境包名、安裝路徑、檔案路徑等。
contextcontext=new context();
//context.getfilesdir()幫助我們傳回一個路徑/data/data/包名/files/
filefile=new file(context.getfilesdir(), “info.txt”);
檔案将被儲存在軟體包内建立的files檔案夾内。若要儲存在cache檔案夾内,可将getfilesdir()方法改為getcachedir()。
這種儲存檔案的方法的好處是不用寫很長的路徑、更改包名時對檔案儲存也沒有任何影響。
cache檔案夾内儲存的都是緩存檔案,清除緩存時裡面的檔案會被全部删除,是以需要長期儲存的檔案千萬不要儲存在此檔案夾内。