我想在文件中存儲字符串列表。創建和讀取一次性創建的文件
我需要創建它只是一次,之後,我會閱讀和編寫它programmaticlly。
我的問題是在文件系統中我應該創建文件(手動),以便它最適合讀和寫?
謝謝。
我想在文件中存儲字符串列表。創建和讀取一次性創建的文件
我需要創建它只是一次,之後,我會閱讀和編寫它programmaticlly。
我的問題是在文件系統中我應該創建文件(手動),以便它最適合讀和寫?
謝謝。
您可以創建應用程序的目錄文件,所以沒有人可以訪問它,但你的應用程序
getApplicationContext().getFilesDir().getAbsolutePath();
或SD卡
File externalStorage = Environment.getExternalStorageDirectory();
如果你希望別人來訪問它,並可能對,如果你的文件非常大
如果你打算創建你的文件手動那麼我認爲SD卡是唯一的選擇,除非你有一個根的p磨練或與模擬器一起工作。在資產文件夾
添加文件,那麼這將是清楚後,新安裝
這要看。
在SDCard上創建文件的問題是需要特殊權限才能訪問它。如果應用程序僅適用於您自己,那很酷。如果你想通過谷歌
市場
發佈遊戲(或者現在這些天被稱爲的任何東西),請知道有些人(包括我自己)傾向於查看權限並詢問「爲什麼做X的應用程序需要許可才能執行是嗎?「,並且有時候不會安裝應用程序。
如果手動部分是由應用程序的用戶完成的,請務必將其存儲在SD卡上。這是標準的,非root用戶甚至可以訪問的唯一地方。
但是,一般來說,更好的存儲數據的地方在/ data/data/packagename中。有關更多詳細信息,請參閱Android的data storage。
Shachar
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()))
{
//SDcard is there
File f=new File("/sdcard/YOURFILE.txt");
if (!f.exists())
{
//File created only for first time
f.createNewFile();
//create inputstream and write it to your file
OutputStream out=new FileOutputStream(f);
byte buf[]=new byte[1024];
int len;
while((len=inputStream.read(buf))>0)
out.write(buf,0,len);
out.close();
inputStream.close();
System.out.println("\nData Written");
}
else { // read/ write SECOND TIME }
}
你什麼意思? – 2012-07-12 18:43:39
如果您將資產文件夾中添加文件,它將作爲singelton在所有應用程序的.apk中 – Gorets 2012-07-12 18:54:09