ProAkademi.NET
 
 Web Programlama Web Programlama
 Programlama Programlama
 Grafik Grafik
 Veri Tabanı Veri Tabanı
 İşletim Sistemleri İşletim Sistemleri
 Network Network
 Donanım Donanım
 Güvenlik Güvenlik
 Genel Konular Genel Konular
  KATEGORİLER
 
Kullanıcı Adı :
Şifre :
  ÜYE GIRISI
 
 
  Hakkımızda
  Forum
  Blog
  Haberler
  İpuçları
  Destekleyenler
  İletişim
  PROAKADEMİ.NET
 
Son Üye : Superisi
Kayıtlı Üye : 518
  İSTATİSTİKLER
 
 
Ana Sayfa > Makale > Programlama > VB.NET
 
System.IO Kütüphaneleri
 
Bildiğiniz gibi artık Visual Basic Object Orianted bir dil. Eski Visual Basic programcılarının alışkanlıklarında değişiklik olacak tabikide. Bu yüzden hep birlikde araştırıp bilgi paylaşımı yapmamız gerekli.
 

Visual Basic.NET ile birlikte yapılabilecekler üzerinde durmak istiyorum. Bildiğiniz gibi artık Visual Basic Object Orianted bir dil. Eski Visual Basic programcılarının alışkanlıklarında değişiklik olacak tabikide. Bu yüzden hep birlikde araştırıp bilgi paylaşımı yapmamız gerekli. Özellikle de en çok yaptığımız işlemlerden bir taneside dosya ve klasör işlemleridir. Uygulamalarımızda dosyalar üzerinde birçok işlemler yapmaktayız. Log tutma, txt ler üzerinde bilgi saklama gibi. Visual Basic6 da FileSystemObject Objesini set ederek işlemlerimizi gerçekleştiriyorduk. Sonrada bu objenin CreateTextFile metodu ile dosya oluşturup, OpenTextFile metodu ile dosyaları açabiliyorduk. Ve diğer metotları ile birçok işlem gerçekleştirebiliyorduk. Artık VB Object Orianted bir yapı olduğu için bu işlemleri yapmak için visual Basic.NET in System.IO altındaki class larını kullanacağız. System.IO kütüphanesi ile birlikte sıkça kullandığımız dosya ve klasörler üzerindeki işlemleri gerçekleştirebiliriz. Bir yazıda bu class ların hepsinden bahsetmek mümkün olamaz tabikide. Bu yüzden başlangıç için bazı class ları inceleyeceğiz. Aslında özellikle BinaryReader, Stream class larını sonraki yazılarda incelemek istiyorum. Gerçektende class library inceleyin derim. Uygulamalarınızda kullanacağınız birçok nokta için hazır class lar var. Bunları önceden birçoğumuz kendimiz yazardık. Özellikle Visual Basic programcıları için daha zordu. Bence ilk önce class library i bir inceleyin, ardından uygulamaya geçin. Birçok şey hazır geliyor çünkü. Bu yazıda Visual Basic.NET ile dosya ve klasörler üzerinde yapılabilecekler, örnekler üzerinde duracağız. 

.NET Framework Class Library

System.IO Hiyerarşi

System.Object

   System.Attribute

      System.ComponentModel.DescriptionAttribute

         System.IO.IODescriptionAttribute

   System.Delegate

      System.MulticastDelegate

         System.IO.ErrorEventHandler

         System.IO.FileSystemEventHandler

         System.IO.RenamedEventHandler

   System.EventArgs

      System.IO.ErrorEventArgs

      System.IO.FileSystemEventArgs

         System.IO.RenamedEventArgs

   System.Exception

      System.SystemException

         System.IO.InternalBufferOverflowException

         System.IO.IOException

            System.IO.DirectoryNotFoundException

            System.IO.EndOfStreamException

            System.IO.FileLoadException

            System.IO.FileNotFoundException

            System.IO.PathTooLongException

   System.IO.BinaryReader ---- System.IDisposable

   System.IO.BinaryWriter ---- System.IDisposable

   System.IO.Directory

   System.IO.File

   System.IO.Path

   System.MarshalByRefObject

      System.ComponentModel.Component

         System.IO.FileSystemWatcher ---- System.ComponentModel.ISupportInitialize

      System.IO.FileSystemInfo

         System.IO.DirectoryInfo

         System.IO.FileInfo

      System.IO.Stream

         System.IO.BufferedStream

         System.IO.FileStream

         System.IO.MemoryStream

      System.IO.TextReader

         System.IO.StreamReader

         System.IO.StringReader

      System.IO.TextWriter

         System.IO.StreamWriter

         System.IO.StringWriter

   System.ValueType

      System.Enum

         System.IO.FileAccess

         System.IO.FileAttributes

         System.IO.FileMode

         System.IO.FileShare

         System.IO.NotifyFilters

         System.IO.SeekOrigin

         System.IO.WatcherChangeTypes

      System.IO.WaitForChangedResult

System.IO.Directory class ının bazı metotlarını inceleyelim;

CreateDirectory  
  Belirtilen path de klasör oluşturur.
Directory.CreateDirectory("c:deneme")
Delete  
  Belirtilen klasörü siler.
Directory.Delete("c:deneme")
Exists  
  Belirtilen path de klasör olup – olmadığını gönderir.
If Directory.Exists("c:deneme") Then
MsgBox("Klasör Var!")
Else
MsgBox("Klasör Yok!")
End If
GetCreationTime  
  Belirtilen klasörün oluşturulma tarihini gönderir.
MsgBox(Directory.GetCreationTime("c:deneme"))
GetCurrentDirectory  
  Uygulamanın çalıştığı aktif path’i gönderir.
MsgBox(Directory.GetCurrentDirectory)
GetDirectories  
  Belirtilen path’deki klasör isimlerini listeler.
Bunun için lstListe isimli bir ListBox ‘ ımız olsun ve sonuçları ona aktarsın.

Dim klasor As String
Dim klasorler() As String
klasorler = Directory.GetDirectories("c: ")
For Each klasor In klasorler
   lstListe.Items.Add(klasor)
Next

GetFiles  
  Belirtilen path’deki dosya isimlerini gönderir.
Aynı ListBox ımıza dosya isimlerini listeleyelim.
    
Dim dosya As String
Dim dosyalar() As String
    dosyalar = Directory.GetFiles("c: ")
    For Each dosya In dosyalar
          lstListe.Items.Add(dosya)
    Next
 
GetFileSystemEntries  
  Belirtilen path’deki dosya ve klasör isimlerini listeler.

    Dim isim As String
    Dim isimler() As String
    isimler = Directory.GetFileSystemEntries("c: ")
    For Each isim In isimler
         lstListe.Items.Add(isim)
    Next

    Ayrıca belirtilen şartlara uygun liste içinde şart verebiliriz. Örneğin sadece A harfi ile başlayanlar listelensin dersek;

    Dim dosya_ismi As String
    Dim dosya_isimleri() As String
    dosya_isimleri = Directory.GetFileSystemEntries("c: ", "A*")
    For Each dosya_ismi In dosya_isimleri
          lstListe.Items.Add(dosya_ismi)
    Next
GetLastAccessTime  
  Belirtilen klasör ya da dosyanın son access tarihini gönderir.
    MsgBox(Directory.GetLastAccessTime("c:deneme"))
    MsgBox(Directory.GetLastAccessTime("c:denemedeneme.txt"))
GetLastWriteTime  
  Belirtilen klasör ya da dosyanın son güncelleme tarihini gönderir.
    MsgBox(Directory.GetLastWriteTime("c:deneme"))
    MsgBox(Directory.GetLastWriteTime("c:denemedeneme.txt"))
GetLogicalDrives  
  Bilgisayardaki sürücülerin listesini gönderir.
    Aynı ListBox’a sonuçları gösterelim.

    Dim suruculer() As String
    Dim surucu As String
    suruculer = Directory.GetLogicalDrives()
    For Each surucu In suruculer
           lstListe.Items.Add(surucu)
    Next
SetCreationTime  
  Belirtilen klasör ya da dosyanın oluşturulma tarihini değitirir.
    Directory.SetCreationTime("c:deneme", "12.08.2002 10:10:12")
    Directory.SetCreationTime("c:denemedeneme.txt", "12.08.2002 10:10:12")
SetCurrentDirectory  
  Uygulamanın çalıştığı klasörü değiştir.
 
System.IO.File class ının bazı metotlarını inceleyelim.
Create  
  Belirtilen dosyayı oluşturur.
    File.Create("c:deneme.txt")
Delete  
  Belirtilen dosyayı siler.
    File.Delete("c:deneme.txt")
Exists  
  Belirtilen dosyanın var olup – olmadığını kontrol eder.
    
If File.Exists("c:deneme") Then
        MsgBox("Dosya Var!")
Else
        MsgBox("Dosya Yok!")
End If
GetLastWriteTime  
  Belirtilen dosyanın son güncelleme tarihini gönderir.
MsgBox(File.GetLastWriteTime("c:deneme"))

Bir örnek ile bilgileri biraz pekiştirelim. System.IO.FileStream class ını kullanarak dosya içindeki bilgilere ulaşmaya çalışalım. Elimizde deneme.txt dosyası olsun ve bu dosya içindeki bilgileri satır satır okuyalım.

      

If Not File.Exists("c:deneme.txt") Then
            MsgBox("Dosya Mevcut Değil!", "c:deneme.txt")
       End If

       Dim fsIn As New FileStream("c:deneme.txt", FileMode.Open, FileAccess.Read, FileShare.Read)
       Dim sr As New StreamReader(fsIn)
       Dim satir As String
       While sr.Peek() > -1
             satir = sr.ReadLine()
             MsgBox(satir)
       End While
       sr.Close()

İlk önce File class ımın Exists metodunu kullanarak “c:deneme.txt” dosyasının var olup – olmadığını kontrol ediyorum. Ardından fsIn değişkenimi FileStream tipinde tanımlayıp, dosya adını veriyorum ve Read modunda dosyamı açıyorum.

Sr değişkenimi StreamReader tipinde açmış olduğum dosya ile tanımlıyorum. Döngü içinde StreamReader’ın Peek metodunu kullanarak satır satır okumasını söylüyorum ve satir değişkenime StreamReader’ın ReadLine mtodunu kullanarak okuduğu satırı aktarıyorum. Ardından ekrana yazdırıyorum.

Birde text dosya oluşturup içine bilgi atayalım. Bu işlem için yine FileStream class’ını kullanacağız. Yalnız bu sefer Write metotlarını kulanacağız.

       

Dim fsIn As New FileStream("c:deneme.txt", FileMode.Create, FileAccess.Write, FileShare.Write)
        Dim sr As New StreamWriter(fsIn)
             sr.WriteLine("Microsoft")
             sr.WriteLine("Yazgeliştir")
             sr.WriteLine("Visual Basic.NET")
       sr.Close()

Bunun sonucunda deneme.txt içine belirttiğim değerler satır satır yazılacaktır.

 
Etiketler: class library framework .net system.io
 
Yazar: Yeliz KORKMAZ
Tarih: 09.12.2008 10:25:04 | Okuma: 3701 | Oy: 1,5

EkleBunu Sosyal Paylaşım Butonu

Eklenmiş yorum bulunmuyor!

Yorum Ekle
Yorum eklemek için kayıtlı üye olmanız gerekiyor! Üye olmak için tıklayınız.

 
Copyright 2008 ProAkademi.NET (v 1.4) - Tüm hakları saklıdır.
Tasarım: Hüseyin YILDIRIM [AriSToR] // ZirveArt
Clicky Web Analytics
 
 
Buluton Yazilim ve Internet Hizmetleri