天天看點

android儲存檔案到手機記憶體

首先要指定檔案儲存的位置,在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檔案夾内儲存的都是緩存檔案,清除緩存時裡面的檔案會被全部删除,是以需要長期儲存的檔案千萬不要儲存在此檔案夾内。

繼續閱讀