File Sınıfı

Eyl 06, 2013
FileStream (Dosya akış) nesneleri için dosya yaratma, kopyalama, silme, taşıma ve dosyaların açılması gibi işlemler için statik yöntemler sağlayan sınıftır. Ayrıca dosya oluşturulma, erişim ve yazma tarihi gibi dosya öznitelikleri hakkında bilgi almak ya da ayarlamak için de kullanılabilir.

File sınıfının tüm metotları statiktir. Bu nedenle dosya işlemlerinde tek bir eylem gerçekleştirilecekse File sınıfı uygundur. Ancak daha kapsamlı bir işlem söz konusu ise yine Sytem I/O Namespace'i (İsim uzayı) içinde bulunan FileInfo sınıfını kullanmak daha uygun olur.

Create Metodu

Yeni bir dosya oluşturmak için kullanılır. Bu metot ile C#’ ta istenilen dizine dosya oluşturabilir. Yapılması gereken, dosyanın hangi isimle nerede oluşturulacağını yazılmasıdır. 

AppendAllText Metodu

Mevcut bir text (metin) dosyasına bir satır eklenmek için kullanılır. Bu metodun şöyle bir özelliği var: Eğer yolu belirtilen dosya varsa dosya açılır, gönderilen değer içerisine eklenir. Dosya içerisinde herhangi bir veri varsa bunlar silinmez, sadece gönderilen değer dosyaya eklenir. Diğer bir özelliği ise, eğer belirtilen yolda böyle bir dosya yoksa exception (istisna) verilmez; çünkü eğer böyle bir dosya yoksa metot kendisi oluşturup, içerisine gönderilen veri yazılacaktır.

Exists Metodu

Bu metot kullanılarak parametre olarak verilen dosyanın var olup olmadığı öğrenilebilir. Eğer belirtilen isimde bir dosya varsa true (doğru), yoksa false (yanlış)değer döner. 

Copy Metodu

C# ta bir dizinden başka bir dizine dosya kopyalamak için kullanılır. Eğer belirtilen kaynak dosya yoksa dosyanın olmadığına dair istisna alınır. Aynı şekilde hedef dizinde aynı isimle bir dosya varsa uygulama yine hataya düşecektir. Bunun için bu işlemi yapmadan önce File.Exists metodu ile dosyanın olup olmadığı kontrol edilebilir.

CreateText Metodu

Bu metot ile içerisine yazılmak için bir dosya açılır. Geriye StreamWriter (Akış Yazıcı) nesnesi döner. Bu metot kullanılacaksa içerisine veri girmek için StreamWriter nesnesi kullanılabilir.

Delete Metodu

Bu metot kullanılarak parametre olarak verilen dosya silinebilir. Ancak dosya kullanılıyorsa veya belirtilen dosya yoksa istisna alınır.

GetAttributes Metodu

Bu metot kullanılarak bir dosyaya ait belli başlı özellikler alınabilir. Mesela dosyanın gizli dosya olup olmadığı, salt okunurluğu gibi özellikleri alınabilir.

GetCreationTime ve GetCreationTimeUtc Metotları

GetCreationTime metodu kullanılarak parametre olarak verilen dosyanın oluşturulma zamanı alınabilir. GetCreationTimeUtc metodu ise evrensel saate göre oluşturulma zamanı getirilir.

Belirtilen File sınıfı uygulamaları bir windows form uygulaması üzerinde butonlara tek tek işlev atanarak gerçeklenmiştir ve her butona işlevinin adı verilmiştir. Ayrıca File sınıfı System.IO isim uzayının altındadır ve bu yüzden "using" anahtar kelimesi ile kullanılan sınıflar içerisine eklenmiştir.

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace WindowsFormsApplication2
{
    
    public partial class Form1 : Form
    {
        
        public Form1()
        {
            InitializeComponent();
        }

        private void Create_Click(object sender, EventArgs e)
        {
            File.Create("C:\\yarat.txt");
        }

        private void AppendAllText_Click(object sender, EventArgs e)
        {
            string dosyaYolu = @"c:\yarat.txt";
            string eklenecekYazi = "Bu satır dosyaya yazılacak";
            eklenecekYazi += Environment.NewLine;
            File.AppendAllText(dosyaYolu, eklenecekYazi);
        }

        private void Copy_Click(object sender, EventArgs e)
        {
            File.Copy("c:\\yarat.txt", "d:\\yarat.txt");
        }

        private void CreateText_Click(object sender, EventArgs e)
        {
            using (StreamWriter sw = File.CreateText("C:\\yarat.txt"))
            {
                sw.WriteLine("EklenenSatir1");
                sw.WriteLine("EklenenSatir2");
                sw.WriteLine("EklenenSatir3");
            }
        }

        private void Delete_Click(object sender, EventArgs e)
        {
            File.Delete("C:\\yarat.txt");
        }

        private void Exists_Click(object sender, EventArgs e)
        {
            File.Exists("C:\\yarat.txt");
        }

        private void GetAttribute_Click(object sender, EventArgs e)
        {
            FileAttributes attr = File.GetAttributes("c:\\yarat.txt");
        }

        private void GetCreationTime_Click(object sender, EventArgs e)
        {
            string dosya = "C:\\yarat.txt";
            DateTime olusturmaZamani = File.GetCreationTime(dosya);
        }
    }
}