|
ASP.NET 2.0 ile Metin Dosyalarını Okuma ve Yazma
|
|
StreamReader ve StreamWriter sınıflarını kullanarak; ASP.NET 2.0 da text dosyalarını okuma ve yazma işlemini gösteren basit bir uygulama.
|
|
Tayfun AKCAY,
05.03.2006 00:00:00
(Bu makale 5944 kez okundu.)
|
|
|
Untitled Page
ASP.NET 2.0 ile Metin Dosyalarını Okuma ve Yazma
StreamReader ve StreamWriter sınıflarını
kullanarak; ASP.NET 2.0 da text dosyalarını okuma ve yazma işlemini gösteren basit
bir uygulama.
Bu makalede StreamReader ve StreamWriter
sınıflarını kullanarak; ASP.NET 2.0 da text dosyalarını okuma ve yazma işlemini
gösteren basit bir uygulama yapacağız. Dil olarak C# kullandım ama kolaylıkla diğer
dillere de çevirebilirsiniz.
Herhangi bir text dosyasını System.IO.StreamReader
sınıfını kullanarak; bir Textbox kontrolü içinde okumak için aşağıda verdiğim kodu
kullanın:
System.IO.StreamReader StreamReader1 = new System.IO.StreamReader(Server.MapPath("test.txt"));
TextBox2.Text = StreamReader1.ReadToEnd();
StreamReader1.Close();
Eğerdosya belirtilen yolda bulunmuyorsa;
muhtemelen hata mesajı alacaksınız. Dosyanın olup olmadığını aşağıdaki kodu kullanarak
kontrol edebilirsiniz:
if (System.IO.File.Exists(Server.MapPath("test.txt")))
System.IO.StreamWriter sınıfını
kullanarak; Textbox kontrolünün içeriğini, bir text dosyasına yazmak için aşağıda
verdiğim kodu kullanın:
System.IO.StreamWriter StreamWriter1 = new System.IO.StreamWriter(Server.MapPath("test.txt"));
StreamWriter1.WriteLine(TextBox1.Text);
StreamWriter1.Close();
Yukarıdaki örnekte StreamWriter
sınıfı,
eğer
dosya daha önceden yaratılmamışsa bir dosya yaratacak; ve
eğer
yaratılmışsa üzerine yazacak.
"\r\n" ekleyerek; text
dosyanızda satır başı oluşturabilirsiniz. Kod tarafından satır başı ekleme aşağıdaki
kodu kullanarak yapılabilir:
StreamWriter1.WriteLine("Some text on line1.\r\nSome text on line2.");
Aşağıdaki örnek kod, iki textbox
kontrolü içeren bir web sayfasıdır. Üstteki textbox ı düzenleyin ve kayıt butonuna
tıklayın. Text dosyası üstteki textbox ın içindeki yazıyı kullanarak yaratılacaktır
ve web sayfası ile aynı sanal dizine kaydedilecektir. Yeni oluşuturulan text dosyası
daha sonra alttaki textbox içine daha önceden kaydedilen değişiklikleri göstermek
için yüklenir.
Bu basit örnekte; StreamReader ve
StreamWriter sınıflarının kullanılan birçok kullanım çeşidinden sadece birkaçını
gösterdik. Bu sınıflar sadece text dosyaları için değil, text dosyası gibi çalışan
tüm benzerleri içinde kullanılır. XML, web sayfaları, sınıflar (.cs ya da .vb) ve
daha onlarcası bunlara örnektir.
OkuYaz.aspx
<%@ Page
Language="C#" %>
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<script runat="server">
void
Page_Load(object sender,
EventArgs e)
{
if (!IsPostBack)
{
TextBox1_Load();
}
}
void
Button1_Click(object sender,
EventArgs e)
{
System.IO.StreamWriter
StreamWriter1 = new System.IO.StreamWriter(Server.MapPath("test.txt"));
StreamWriter1.WriteLine(TextBox1.Text);
StreamWriter1.WriteLine("Line1.\r\nLine2.");
StreamWriter1.Close();
TextBox2_Load();
}
void
TextBox1_Load()
{
if (System.IO.File.Exists(Server.MapPath("test.txt")))
{
System.IO.StreamReader StreamReader1 = new
System.IO.StreamReader(Server.MapPath("test.txt"));
TextBox1.Text
= StreamReader1.ReadToEnd();
StreamReader1.Close();
}
else
{
TextBox1.Text
= "Yeni Dosya.";
}
}
void
TextBox2_Load()
{
if (System.IO.File.Exists(Server.MapPath("test.txt")))
{
System.IO.StreamReader StreamReader1 = new
System.IO.StreamReader(Server.MapPath("test.txt"));
TextBox2.Text
= StreamReader1.ReadToEnd();
StreamReader1.Close();
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml"
>
<head runat="server">
<title>Text
Dosyasini Düzenle</title>
</head>
<body>
<form id="form1"
runat="server">
<div>
<b><span style="font-family:
Verdana">Text Dosyasini Düzenle</span></b><br
/>
<asp:TextBox ID="TextBox1"
Runat="server"
Width="400px" Height="200px"
TextMode="MultiLine"></asp:TextBox><br />
<asp:TextBox ID="TextBox2"
Runat="server"
Width="400px" Height="198px"
TextMode="MultiLine"
Enabled="False"></asp:TextBox><br />
<asp:Button ID="Button1"
Runat="server"
Width="60px" Height="20px"
Text="Kaydet" OnClick="Button1_Click" />
</div>
</form>
</body>
</html>
|