在android中将数据写入文件

时间:2012-02-17 13:51:22

标签: android

此代码会覆盖文件....

我希望以前的数据保持不变..

osw..append (data);  

但没有得到结果

public void WriteSettings(Context context, String data){ 
             FileOutputStream fOut = null; 
             OutputStreamWriter osw = null;

             try{
              fOut = context.openFileOutput("abc.txt",Context.MODE_PRIVATE);       
              osw = new OutputStreamWriter(fOut); 
              osw.write(data); 
              osw.flush(); 
              Toast.makeText(context, "Settings saved",Toast.LENGTH_SHORT).show();
              } 
              catch (Exception e) {       
              e.printStackTrace(); 
              Toast.makeText(context, "Settings not saved",Toast.LENGTH_SHORT).show();
              } 
              finally { 
                 try { 
                        osw.close(); 
                        fOut.close(); 
                        } catch (IOException e) { 
                        e.printStackTrace(); 
                        } 
              } 
         }

2 个答案:

答案 0 :(得分:2)

 public void WriteSettings(Context context, String data){ 
         FileOutputStream fOut = null; 
         OutputStreamWriter osw = null;

         try{
          fOut = context.openFileOutput("abc.txt",Context.MODE_APPEND);       
          osw = new OutputStreamWriter(fOut); 
          osw.write(data); 
          osw.flush(); 
          Toast.makeText(context, "Settings saved",Toast.LENGTH_SHORT).show();
          } 
          catch (Exception e) {       
          e.printStackTrace(); 
          Toast.makeText(context, "Settings not saved",Toast.LENGTH_SHORT).show();
          } 
          finally { 
             try { 
                    osw.close(); 
                    fOut.close(); 
                    } catch (IOException e) { 
                    e.printStackTrace(); 
                    } 
          } 
     }

答案 1 :(得分:0)

您必须将MODE_APPEND与openFileOutput一起使用。