C# G/Ç sorusu

Başlatan cansu_seker, 23 Aralık 2010 - 13:55:13

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

cansu_seker

c# da system.IO komutunu yazarak kodlarla bir text dosyası oluşturdum ancak bu text dosyasını başka bir text dosyasının içine nasıl kopyalayacağım onu yapamadım yardımcı olursanız sevinirim.

kodları okuttum su komutlarla okutttuktan sonra başka bir text dosyasına nasıl atacam..:S:S

using System;
using System.IO;

namespace ödevcopy
{
class MainClass
{
public static void Main (string[] args)
{
dosyagoster("/home/proje.txt");
}

public static void dosyagoster(string dosyaad)
{       
FileStream yeni= new FileStream(dosyaad,FileMode.Open,FileAccess.Read);
StreamReader yazi= new StreamReader (yeni);
while(yazi.readline() != null)
{
Console.WriteLine(yazi.readline());
}
yazi.close();
yeni.close();


}
}
}



sem

Console.WriteLine ile ekrana yazdırdığınız kısmına, ekrana değil de dosyaya yazdırma fonksiyonu yazarsanız dosyaya yazdırma yapacaksınız. daha önceden dosyayı açmanız gerekiyor tabii...  StreamWriter sınıfını incelediğinizde göreceksiniz...

Bütün hepsini yazdıracaksanız eğer; StreamReader sınıfının ReadToEnd() metodunu da incelemenizi öneririm... Döngüye de gerek kalmaz o zaman...

Ek: Başlıklarda "yardım" gibi ibareler kullanmamaya özen gösteriyoruz. Çünkü başlığımıza bir öncelik katmıyor...
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

cansu_seker

ancak ikinci dediğiniz komut yazdırmak için ben bu bokda okutma yaptırdım yazmayı aynı blokta yapabiliyormuyuz. hangi komutu yazsam olur baya uğraştım yapamadım.

diğer komutu daha öğrenmedik o yüzden öğrendiğimiz komutlarla yapacaz.

bir diğer soru da kusura bakmayın daha yeniyim ..xdxd

sem

Ben Mono kullanmıyorum... O nedenle kodları deneyip gönderemeyeceğim çünkü şu an Windows üzerinde değilim... Ama şöyle yapacaksınız;


1.) StreamRader dosyasını aç // Okunacak dosya
2.) StreamWriter dosyasını aç // Yazdıralacak dosya.

Döngü( null görene kadar 1'den oku, 2 ye yaz.)



Döngüden kurtulmak için;
ReadToEnd() metodunun geri dönüşünü bir stirnge atayın. Sonra bir kere yazdırma işlemi yapın yeterli. Çünkü akımdaki okunabilen her şeyi okuyor bu metot.


Aynı blog içerisinde okuma, yazma, ya da istediğini her şeyi yapabiliyorsunuz. Aslında sizin kodunuzdaki tek değişiklik şu olacak;

using System;
using System.IO;

namespace ödevcopy
{
class MainClass
{
public static void Main (string[] args)
{
dosyagoster("/home/proje.txt");
}

public static void dosyagoster(string dosyaad)
{       
FileStream yeni= new FileStream(dosyaad,FileMode.Open,FileAccess.Read);
StreamReader yazi= new StreamReader (yeni);
                 //BURADA StreamWriter'ı TANIMLAYIN
while(yazi.readline() != null)
{
//BURADA EKRANA DEĞİL DOSYAYA YAZDIRIN
}
yazi.close();
yeni.close();


}
}
}


Dediğim giib şu anda kodlama şansım yok... Fırsat bulduğumda benden önce gönderilmemişse kodları da paylaşırım... Kolay gelsin...



".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

cansu_seker

#4
dosyaya yazdırma yazi.writeLİne mı olacak orayı yapamadım..:S:S


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 23 Aralık 2010 - 14:52:07

kodları şu şekilde yaptım çalışıyor ancak yeni txt dosyasına atmıyor.


FileStream yeni= new FileStream(dosyaad,FileMode.Open,FileAccess.ReadWrite);
            StreamReader yazi= new StreamReader (yeni);
           StreamWriter yazi1= new StreamWriter(yeni);
         while(yazi.ReadLine() != null)
         {
           yazi1.WriteLine("/home/omer/Masaüstü/proje1.txt");
         }
         yazi.Close();
         yeni.Close();
         



Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 23 Aralık 2010 - 14:58:38

stream reader yazi ve stream writer yazi yapınca hata veriyor aynı şey içinde kullanılamaz diyor.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 23 Aralık 2010 - 15:16:09

tamamdır hallettim yinede saolun..xdxd

heartsmagic

Nasıl halettin?
Ayrıca ilk iletini düzenleyerek daha açıklayıcı bir başlık seçebilir misin?
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.