2013-04-09 77 views
0

我有一個android應用程序,我需要在文本文件中寫入一些字符串值。我有編碼寫在一個文本文件。但我不知道我要創造我的文字file.Please參考我下面的代碼,在哪個路徑我需要把文本文件寫在android

FileOutputStream fOut = null; 

OutputStreamWriter osw = null; 

try{ 

fOut = openFileOutput(「public.dat」, Context.MODE_PRIVATE); 

osw = new OutputStreamWriter(fOut); 

osw.write(「TEXT」); 

osw.close(); 

fOut.close(); 

}catch(Exception e){ 

e.printStackTrace(System.err); 

} 

請通知我哪條路我應該創建文本文件。

+1

http://www.anddev.org/working_with_files-t115.html – RobinHood 2013-04-09 06:47:30

+0

你需要告訴我們你的文本文件應該是什麼樣的,然後我們才能告訴你在哪裏存儲它。 – 2013-04-09 06:48:36

+0

@類:我打算在文本文件中寫入一些數據。如果我把我的文本文件放在資產文件夾中,我認爲它不可能寫入它,那我需要在哪個文件夾中放置我的文本文件。 – shivcena 2013-04-09 06:52:08

回答

1

如果你想在本地存儲數據,您的應用程序,設備的內部文件系統(而不是在外部SD卡)上,你應該總是考慮SharedPreferences,這是在默認情況下,私密文件在私有存儲設備您的應用程序的空間,方便訪問。

SharedPreferences非常適合鍵/值對,但不適合某些數據格式。所以,如果你有不同的需求,Context類提供了各種各樣的方法。請注意,ActivityApplication對象都是Context,因此您始終可以訪問這些對象。請參考文檔:

也有方法,以獲得在外部SD卡安裝在特定的設備上,用於臨時文件的路徑,等

1

最好的方法是在sdcard的應用程序目錄中創建文件。

fOut = openFileOutput(Environment.getExternalStorageDirectory().getAbsolutePath()+「/yourAppFolder/public.dat」, Context.MODE_PRIVATE); 
+1

這是非常糟糕的建議。首先,硬編碼路徑是不可行的。其次,原來的海報甚至沒有說過他是否希望他的數據是私人的還是公共的,作爲備份或應用狀態等。 – 2013-04-09 06:56:44

+0

@Adnan:是否有其他路徑可用,除了SD卡 – shivcena 2013-04-09 07:00:07

+0

@sivanesan我不認爲你可以在asset/Raw文件夾中創建/編輯文件,因爲它是打包的(.apk),不能擴展大小。所以你必須在SD卡上創建文件。 – 2013-04-09 07:10:45

0

我認爲這不是一個最佳的最佳解決方案,但它是值得充分的,如果它正在工作..

相關問題