Soru & Cevap

Dosya okuma yazmada hata ...

28.12.2013 - 01:28

Aşağıdaki projede listedeki elemanları ısolated storage olarak kaydedip programın bir sonraki açılışında eklemek istiyorum. Ancak okuma yapılmıyor, liste boş olarak geliyor. Dahası daha önce bir dosya yazılmış ise program kapatılırken bunu silip tekrar yazmak istiyorum, Unable to delete file exception alıyorum

4 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user omer.birler
omer.birler
29.12.2013 - 02:10

Tamam, söylediğiniz hatayı düzelttim Mehmet Bey. Bir de şunu denedim. Ama bu sefer Operation not permitted on IsolatedStorageFileStream hatası aldım

  

/sites/default/files/cevaplar/dosya/2020/file-mainpage.cs_.txt
Mehmet Altıparmak
29.12.2013 - 09:17
Hangi satırda alıyorsun Ömer hatayı? using() ifadelerinin içerisinde Close çağırmana gerek yok. using ifadesi bittiğinde otomatik olarak Stream'ler Close edilir. using dışında bir yerde kullanıyorsan Stream'i o zaman Close çağırmalısın.
Ömer Birler
29.12.2013 - 01:09
Close ifadelerini sildim. 136. satırda IsolatedStorageFileStream fileStreamuser = myIsolatedStorageuser.OpenFile("myFileuser.txt", FileMode.Open, FileAccess.Read); ifadesinde Operation not permitted on IsolatedStorageFileStream exception ı veriyor
Mehmet Altıparmak
29.12.2013 - 02:41
açmaya çalıştığın dosya var olmadığı için o hatayı alıyor olabilirsin. Dosya var mı kontrolü yapıp yoksa dosyayı oluşturduktan sonra açmayı deneyebilirsin. IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication(); var result = myIsolatedStorage.FileExists("TextFilesFolder\\myNewFile.txt"); if (result) { IsolatedStorageFileStream fileStream = myIsolatedStorage.OpenFile("TextFilesFolder\\myNewFile.txt", FileMode.Open, FileAccess.Read); using (StreamReader reader = new StreamReader(fileStream)) { //this.text1.Text = reader.ReadLine(); } } else { if (!myIsolatedStorage.DirectoryExists("TextFilesFolder")) myIsolatedStorage.CreateDirectory("TextFilesFolder"); myIsolatedStorage.CreateFile("TextFilesFolder\\myNewFile.txt"); }
Ömer Birler
29.12.2013 - 04:42
Teşekkürler Mehmet Bey. Sonunda başardım. Okurken osyanın olup olmadığını kontrol ettim. Yazarken de IsolatedStorageFileStream fileStreamgroup = myIsolatedStoragegroup.OpenFile("myFilegroup.txt", FileMode.OpenOrCreate, FileAccess.Write); ile yazdım. Şu an gayet iyi çalışıyor
picture-472-1375079047.jpg
mehmet.altiparmak
28.12.2013 - 11:22

ListBox'ın ItemsSource özelliğine SimpleItems'ı bağlamışsın ancak okuduğun kayıtları SimpleItems'a değil başka dizilere ekliyorsun gördüğüm kadarıyla? 

Profile picture for user omer.birler
omer.birler
28.12.2013 - 09:25

Gösterdiğiniz referansı inceledim neredeyse kodun aynısını yazdım ancak yine de çalışmıyor listbox 2. açılışında boş geliyor

picture-472-1375079047.jpg
mehmet.altiparmak
28.12.2013 - 02:43

Merhaba Ömer, 

Eksik yaptığın ufak ama önemli bir şey var, burayı tekrar gözden geçirmeni tavsiye ederim.

Bir de, dosyayı silmek yerine, açarken FileMode.Append  değil de FileMode.Truncate kullanabilirsin.