Soru & Cevap

.txt yazdırma ve okuma problemi

24.02.2021 - 01:07

Merhabalar,

c# ile programlama  - 201 - Kitaplık projesi içerisinde yapılması gereken metine yazma ve metiden okuma işlemleriyle ilgili exceptionlar alıyorum. Bu işlemlerin anlatıldığı bölümde ve kitaplık projesi içerisinde ,eğitmen, yazdırmak/okutmak için gerekli .txt dosylarını masaüstünde açıyor(Dolayısıyla adres C:\User\... ifadesi ile baslıyor) ve herhangi bir exception almadan işlemi tamamlıyor.Ben kendi bilgisayrımda kod(StreamWriter) ile .txt dosaysına kayıt denediğimde C:\User ile başlayan hiç bir adress kullanamıyourm.(UnauthorizedAccessException - FileNotFoundException alıyorum). Sadece C:\ içinde bir .txt oluşturursam eğer bunu içine kayıt yapabiliyorum. Bir baska .txt dosyasını okutmaya çalıstığımda(FileStream ve StreamReader ile) ise .txt dosyası   C:\ de bir adresde ise, System.IO.IOException alıyorum ama bu sefer de C:\User ile baslayan bir adresde ise (mesela masaüstü) sorunsuz çalşıyor.Acaba bu konuyla ilgili bir fikri olan var mı?

Kayıt için:


        public static void okurKaydi()
        {

            string isim, soyisim;

            Console.Write("İsminiz :");
            isim = Console.ReadLine();

            Console.Write("Soy isminiz :");
            soyisim = Console.ReadLine();
            string konum = @"C:\YeniOkurKaydı.txt";
            StreamWriter sw = new StreamWriter(konum);
            sw.WriteLine("isim:" + isim);
            sw.WriteLine("soyisim:" + soyisim);
            sw.Close();

        }


Okutma için:


                Console.WriteLine();
                Console.WriteLine("*****Kitap Arşivi*****");
                Console.WriteLine();
                Console.WriteLine();
                Console.WriteLine("******************************");
                FileStream fs = new FileStream(@"C:\Users\cnk\Desktop\KitapArsivi.txt", FileMode.Open,FileAccess.Read);
                StreamReader sr = new StreamReader(fs);
                string metin = sr.ReadLine();
                while (metin != null)
                {
                    Console.WriteLine(metin);
                    metin = sr.ReadLine();
                }
                sr.Close();
                fs.Close();
                Console.WriteLine();
                Console.WriteLine("******************************");

 

234 Görüntülenme

3 Cevap

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

Profile picture for user doguberko
doguberko
24.04.2021 - 01:14

👉https://www.c-sharpcorner.com/UploadFile/mahesh/how-to-read-a-text-file-in-C-Sharp/

Profile picture for user endustrimuh
endustrimuh
27.02.2021 - 03:43

Anti-virüs programından kaynaklanmıyor o zaman. Ben de önceden izinler ile alakalı bir sorun yaşamıştım. Sizinki gibi değildi tam olarak ama sadece okumaya izin veriyordu. Aşağıda yazdığım yöntem ile çözmüştüm. Bir de şunu dener misiniz?

1-) Projenizin klasörüne sağ tıklayıp Özellikler penceresini açın.

2-) Güvenlik sekmesine tıklayın.

3-) Düzenle butonuna tıklayın.

4-) Aşağıdaki bölümden Tam Denetim'i seçin.

5-) Dördüncü adımı her kullanıcı için uygulayın.(Sisteminizde bir kullanıcı olsa dahi burada birden fazla kullanıcı adı vardır.)

6-) Uygula dedikten sonra tamam seçeneğini tıklayın.

Eğer bu yöntem işe yaramaz ise bir de txt oluşturduğunuz ve okuduğunuz klasörler için aynı adımları uygulayın. Umarım yardımcı olur. İyi çalışmalar dilerim.

Cenk Ertan
03.03.2021 - 12:41

Tekrar Merhaba,

Tavsiye ettiğiniz adımları izleyince masaüstünde ki bir .txt dosyasına yazdırmayı başardım. Hala okutmaya çalışırken (dosya C:\ içersinde ise) System.IO.IO Exception almaya devam ediyorum ama bu projeyle daha fazla ilgilenmeyeceğim için okutacağım .txt dosyasını da C:\User\... içerisinde tutup, projeyi bitirdim...=)

İlginiz ve yardımınız için teşekkür ederim.

Berke ÖZMEN
03.03.2021 - 09:03

Merhabalar,

Garip gerçekten, gözden kaçırdığımız başka bir şey var galiba. En azından masaüstü sorununuzun çözüldüğüne sevindim. Estağfurullah, rica ederim. Yardımcı olabildiysem ne mutlu. İyi çalışmalar dilerim. 

Profile picture for user endustrimuh
endustrimuh
24.02.2021 - 10:54

Merhabalar,

Bu sorunun izinler ile alakalı olduğunu düşünüyorum. Bilgisayarınızda birden fazla kullanıcı var mı?

Cenk Ertan
26.02.2021 - 12:55

Merhaba,

Bende sizinle aynı fikirdeyim aslında.Bilgisayarımda birden fazla kullanıcı yok. Ama kullandığım anti-virüs programı engelliyor olabilir diye düşündüm ve visual studioyo'nun .exe dosyasnın ve çalıştığım projeyi izinlere ekledim ama bir sonuc alamadım.