我们如何在android中的sdcard中写入现有文件(.txt)

时间:2013-07-02 05:46:25

标签: android file-io android-sdcard

我想编辑存储在SD卡上的.txt文件。在我的应用程序中,我必须编写用户活动数据。

因此,每当用户打开应用程序并执行某些操作时,都应使用新数据更新.txt文件。

4 个答案:

答案 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 :(得分:5)

您需要使用MODE_APPEND打开文件,将文本附加到现有文件中。

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

答案 2 :(得分:0)

在这种情况下,我发现Apache Commons库非常有用。

FileUtils。您可以使用this function将字符串附加到文件。

答案 3 :(得分:0)

使用RandomAccessFile

在java中尝试这个简单的代码
    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)
   {

   }

此代码如果文件不存在并自动创建并附加它!