我想编辑存储在SD卡上的.txt文件。在我的应用程序中,我必须编写用户活动数据。
因此,每当用户打开应用程序并执行某些操作时,都应使用新数据更新.txt文件。
答案 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
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)
{
}
此代码如果文件不存在并自动创建并附加它!