metin

2015-06-05 15 views
5

Benim kod Dosya eklenemez geçerli:metin

if(myfile.exists()) { 
    try { 
     FileOutputStream fOut = new FileOutputStream(myfile); 
     OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut); 
     for (LatLng item : markerArrayList) { 
      myOutWriter.append(item.toString()); 
     } 
     myOutWriter.append("\n\n"); 
     myOutWriter.close(); 
     fOut.close(); 
     Toast.makeText(getBaseContext(), "Done writing ", Toast.LENGTH_SHORT).show(); 
    } catch (Exception e) { 
     Toast.makeText(getBaseContext(), e.getMessage(), Toast.LENGTH_SHORT).show(); 
    }   
} 

Ben myOutWriter.append kullandığınızda, gerçekten olur ben dosyaya yazıyorum her zaman, önceki içeriği üzerine yazar olmasıdır.

+0

yoktur: http://developer.android.com/reference/java/io/OutputStreamWriter.html – vicolored

cevap

7

Bunun nedeni, FileOutputStream yapıcısının ek seçeneğidir.

Sen kullanmalıdır:

FileOutputStream fOut = new FileOutputStream(myfile, true); 

yerine, ekleme için dosyayı açmak için.

Aksi takdirde, önceki dosyanın içeriği üzerine yazılır.

+0

artık çalışıyor. Teşekkürler – vicolored

2

kullanım FileOutputStream en secondconstructor:

FileOutputStream(String name, boolean append)

ekleme değeriyle true

1

sorun olarak OutputStreamWriter dosyaya yazmaya başlıyor yer kutluyor imleç de olmasıdır dosyanın çok başında.

Ne yapmak istiyorsunuz, boolean özniteliği olan FileOutputStream alternatif yapıcısını kullanarak dosyanın sonuna ayarlamaktır. Sabit kod şöyle olacaktır:

if(myfile.exists()) { 
    try { 
     FileOutputStream fOut = new FileOutputStream(myfile, true); 
     OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut); 
     for (LatLng item : markerArrayList) { 
      myOutWriter.append(item.toString()); 
     } 
     myOutWriter.append("\n\n"); 
     myOutWriter.close(); 
     fOut.close(); 
     Toast.makeText(getBaseContext(), "Done writing ", Toast.LENGTH_SHORT).show(); 
    } catch (Exception e) { 
     Toast.makeText(getBaseContext(), e.getMessage(), 
       Toast.LENGTH_SHORT).show(); 
    } 
}