Android bufferedWriter.flush()示例
我希望在android应用程序中清除一个文本文件,然后重新编写新的ArrayList。我的问题代码是Android bufferedWriter.flush()示例,android,flush,bufferedwriter,Android,Flush,Bufferedwriter,我希望在android应用程序中清除一个文本文件,然后重新编写新的ArrayList。我的问题代码是 try{ bufferedWriter = new BufferedWriter(new OutputStreamWriter(openFileOutput("Account.txt", MODE_APPEND))); bufferedWriter.flush(); for(
try{
bufferedWriter = new BufferedWriter(new OutputStreamWriter(openFileOutput("Account.txt", MODE_APPEND)));
bufferedWriter.flush();
for( int j = 0; j < ((ArrayHandler)getApplicationContext()).info.size(); j++)
{
if( text.equalsIgnoreCase(((ArrayHandler)getApplicationContext()).info.get(j).getAccountName()))
{
((ArrayHandler)getApplicationContext()).info.remove(j);
for( int k = 0; k < ((ArrayHandler)getApplicationContext()).info.size(); k++)
{
String account = ((ArrayHandler)getApplicationContext()).info.get(k).getAccountName();
String name = ((ArrayHandler)getApplicationContext()).info.get(k).getUserName();
String pass = ((ArrayHandler)getApplicationContext()).info.get(k).getPassword();
writeFileToStorage(account, name, pass);
}
}
}
}
catch(Exception err)
{
Toast.makeText(getBaseContext(), "Cannot flush file", Toast.LENGTH_SHORT).show();
}
需要改成
bufferedWriter = new BufferedWriter(new OutputStreamWriter(openFileOutput("Account.txt", MODE_PRIVATE)));
这是:
bufferedWriter.close();
需要在之后添加
bufferedWriter = new BufferedWriter(new OutputStreamWriter(openFileOutput("Account.txt", MODE_PRIVATE)));
bufferedWriter.flush();
看起来像这样:
bufferedWriter = new BufferedWriter(new OutputStreamWriter(openFileOutput("Account.txt", MODE_PRIVATE)));
bufferedWriter.flush();
bufferedWriter.close();
谢谢。希望这对某人有所帮助。尝试将异常错误消息输出到日志,并将其信息发布在此处。这将使诊断问题变得更容易。当您从数组中删除元素时,是否有什么原因使您不再使用j到i作为变量?我一运行它就注意到了这一点。谢谢我只需要确保文件现在被正确刷新。
bufferedWriter = new BufferedWriter(new OutputStreamWriter(openFileOutput("Account.txt", MODE_PRIVATE)));
bufferedWriter.flush();
bufferedWriter.close();