2013-07-02 128 views
0

我想編輯存儲在SD卡上的.txt文件。在我的應用程序中,我必須編寫用戶活動數據。我們如何寫現有的文件(.txt)在SD卡中android

因此,每當用戶打開應用程序並執行某些操作時,應使用新數據更新.txt文件。

+0

我可能有一些示例代碼? – shripal

+0

你需要在文本文件上附加文本? –

回答

13

你可以試試這個:

File externalStorageDir = Environment.getExternalStorageDirectory(); 
File myFile = new File(externalStorageDir , "mysdfile.txt"); 

if(myFile.exists()) 
{ 
    try 
    { 
     FileOutputStream fOut = new FileOutputStream(myFile); 
     OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut); 
     myOutWriter.append("test"); 
     myOutWriter.close(); 
     fOut.close(); 
    } catch(Exception e) 
    { 

    } 
} 
else 
{ 
    myFile.createNewFile(); 
} 

這樣

android.permission.WRITE_EXTERNAL_STORAGE 
+1

非常感謝你 – shripal

5

您需要打開使用MODE_APPEND追加文本到現有文件的文件只是設置權限。

FileOutputStream fOut = openFileOutput("myfile.txt", MODE_APPEND); 
+0

謝謝Lucifer ... – shripal

+1

Thx爲這個好消息。我將此用於「MODE_APPEND」: public static final boolean MODE_APPEND = true; – KingAlex1985

0

嘗試在Java中,這簡單的代碼使用RandomAccessFile

try 
    { 
     File f = new File("your-file-name.txt"); 
     long fileLength = f.length(); 
     RandomAccessFile raf = new RandomAccessFile(f, "rw"); 
     raf.seek(fileLength); 
     raf.writeBytes("this is append text in text file"); 
     raf.close(); 
    } 
    catch(Exception e) 
    { 

    } 

此代碼,如果文件不存在,自動創建並追加了!