Ana içeriğe atla

Asp.Net Text belgeleriyle çalışmak System.IO (StreamReader-StreamWriter)

Asp.Net uygulamanıza Local Server'da bulunan bir text dosyasını okumak yada o belgenize yazılarınızı Asp.Net web form üzerinden kaydetmek isteyebilirsiniz.Şayet bir belgeniz yoksa bunuda Asp.Net sizin yerinize hızlıca yapacaktır.

Stream olayını daha önceki bloglarda resimleri database gömerken kullanmıştık.Ayrıca Excel-Word gibi ofis belgelerimizide aynı şekilde Asp.Net içinde okuyabiliyor yada sıkıştırarak arşivleyebileceğimiz oldukça çok örnek yapmıştık.Bu sözünü ettiğim konudaki yazılara ilgili blog sayflarımdan dilediğinizde okuyabilirsini.Şimdi bu konu aslında çokta güncel bir blog konusu değil fakat Email ile yardım istemiş bir arkadaşımız için basitçe bu örneğide paylaşmış olacağız.Evet yazının devamında kod parçaları sizi bekliyor olacak...




Hızlıca başlayarak Asp.Net- CSharp kullanalım ve 2 örnek yapalım...
(!) Hemen bir hatırlatma yapayım bu  konu ve buna benzer konulardaki Asp.Net yazılarıma ulaşmak için tıklamanız yeterlidir...

A-) İlk örneğimizde bir Text belgesini otomatik olarak kendi Pc'mizde oluşturalım.Belgelerimizin içeriği TextBox ile gelsin ve Belge isimlerimiz Kaydedildiği Tarih (Now) şeklinde olsun...Bu örneğin daha gelişmişini Logger olarakta ilerde bir başka blogta yazabiliriz.

Basitçe ilk örneğimizin Html kaynağı şu şekilde olacaktır.
1-Web Form Html kodları)


<body>
    <form id="form1" runat="server">
    <div>
    <table>
        <tr>
            <td>Notunuzu yazınız: </td>
            <td><asp:TextBox runat="server" ID="txtNote" TextMode="MultiLine" Width="279px"></asp:TextBox></td>
        </tr>
        <tr>
            <td colspan="2"><asp:Button runat="server" ID="NoteTxtFile" Text="Text olarak kaydet" 
                    onclick="NoteTxtFile_Click" /></td>
        </tr>
        </table>
    </div>
    </form>
</body>
2-NoteTxtFile_Click kodları)
protected void NoteTxtFile_Click(object sender, EventArgs e)
    {
        string textFile = string.Format("{0}.txt", DateTime.Now.ToString("MM-dd-yyyy_HH-mm-ss"));
        System.IO.StreamWriter streamWriter = File.CreateText(string.Format(@"{0}{1}", "D:\\", textFile));
        streamWriter.WriteLine(txtNote.Text);
        streamWriter.Close();
  }
Evet bu kodlarda editlemeniz gereken hiç bir şey yoktur.Bakalım ne türde bir iş yaptık.Projeyi çalışırım txtNote içine bir şeyler yazdığımızda şu sonuçları alıyoruz.

Web Form ile Text belgeye not a


Asp.Net ile yaptığımız bu küçük iş bize D:/dizininde bir dosya oluşturmayı başardı.Artık kaydedilme zamanına göre adığımız her not ayrı bir Text belgesine kaydedilecektir.Gelelim 2nci ve birazda daha farklı bir örneğe...




B-)Bu örneğimizde ise Text belgelerimizi sunucumuz üzerinde oluşturalım ve oluşturduğumuz belge üzerinde hem okuma hemde yazma işlemlerini yapalım.

1-)Web Form HTML kodları

<b>Text Belgesi Metninizi yazınız</b><br />
        <asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine" Width="300" Height="150"></asp:TextBox><br />
        <asp:TextBox ID="TextBox2" runat="server" TextMode="MultiLine" Width="300" Height="150"></asp:TextBox><br />
        <asp:Button ID="Button1" runat="server" width="60px" height="20px" Text="Kaydet" OnClick="Button1_Click" />

2-)TextSapmles_01.cs içeriği



using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;

public partial class TextSapmles_01 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            TextBox1_Load();
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        System.IO.StreamWriter StreamWriter1 = new System.IO.StreamWriter(Server.MapPath("TextFile.txt"));
        StreamWriter1.WriteLine(TextBox2.Text);
        StreamWriter1.WriteLine("Line1.\r\nLine2.");
        StreamWriter1.Close();
        TextBox2_Load();
    }
    protected void  TextBox2_Load()
{
    if (System.IO.File.Exists(Server.MapPath("TextFile.txt")))
        {
            System.IO.StreamReader StreamReader1 = new System.IO.StreamReader(Server.MapPath("TextFile.txt"));
            TextBox1.Text = StreamReader1.ReadToEnd();
            StreamReader1.Close();
        }
}
    protected void  TextBox1_Load()
{
    if (System.IO.File.Exists(Server.MapPath("TextFile.txt")))
        {
            System.IO.StreamReader StreamReader1 = new System.IO.StreamReader(Server.MapPath("TextFile.txt"));
            TextBox1.Text = StreamReader1.ReadToEnd();
            StreamReader1.Close();
        }
        else
        {
            TextBox1.Text = "Yeni Dosya Oluşturulacak...";
        }
}
}

Bu kodlar sonrasında yaptığımızı test edelim.

Yukarıdaki resimlerdende anlaşılacağı gibi uygulama dizinimizde TextFile.txt dosyamız oluşturuldu ve yazdıklarımızıda içine kaydedildi.Uygulama çalışma esnasında TextBox1 içerisinde ne yazılıysa artık bize sunacak ve bizde bu sayede Text dosyamızı Web Form üzerinden sürekli güncelleyebileceğiz

StreamWriter ve StreamReader ile önümüzdeki günlerde yeni örnekler yapmak üzere kolay gelsin.

      Bu Yazının Sponsorları













Bu blogdaki popüler yayınlar

Firebird SQL Table oluşturma ve SQL komutları

2 nci  Firebird SQL veritabanı blogunda bu kez mevcut Firebird veritabanına ISQL ile bağlanmayı veritabanı nesnelerini oluşturmayı (create table), Kayıt eklemeyi (ınsert) ve kayıtları izlemeyi (show) ile önemli SQL komutlarını anlatmaya çalışacağım...

HBYS yazılımları ve en iyiler (Hastane Bilgi Yönetim Sistemleri)

HBYS (Hastane Bilgi Yönetim Sistemi) ve iyi yazılım firmaları HBYS nedir sorusuna verilebilecek en iyi cevabı, sıra bekleyen hastalara, HBYS programını kullanlar, yani sistem çalışmıyor diyenler verebilir ! Bugün Türkiye genelinde halen izlediğim bu HBYS platformlarını üreten firmalar hakkında bildiğim bazı kişisel görüşlerimi paylaşacağım. Müdahil olduğum bu sektörün ileri gelen firmalarınıda bu sayede kısaca anlatma fırsatım olacak.O halde yazının devamı için devam ediniz...

Firebird Veritabanı Nedir ? Nasıl Kullanılır

Firebird ücretsiz veritabanı kullanmaya ne dersiniz.Üstelik hiç bir süre ve veri sınırı olmadan kulağa hoş geliyor değilmi.Bu Blogta Borland açık kaynak interbase 6 sürümünden sonra ortaya çıkmış ve gelişimini sürekli sürdürmüş Firebird veritabanına bir göz atıcaz. İnternet üzerinde Firebird ile kaynağa çok sık rastlamazsınız artık bu blogtan Firebird ile ilgili bilgileri takip edebilirsiniz...