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...

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...

Asp.Net Access veritabanina resim ve nesne kaydetmek OLE Nesnesi

Ms Access ile ilgili geçmiş yazılarım arasında biraz vakit geçirmişseniz, Ms Access form uygulamaları yada veritabanı olarak kullanmayı sevdiğimi anlamışsınızdır. Birazdan size anlatmaya çalışacağım konu Ms Access veritabanı olarak kullandığımız bir Asp.Net Web projesinde resimleri ve dosyaları paket halinde veritabanının içine gömmek olacak.Neden bilmiyorum bu konuda Türkçe kaynak yok, merak etmeyin bu yazı size iyi gelecek...