Aracılığıyla paylaş


FileInfo Sınıf

Tanım

Dosyaların oluşturulması, kopyalanması, silinmesi, taşınması ve açılması için özellikler ve örnek yöntemleri ve FileStream nesnelerinin oluşturulmasına yardımcı olur. Bu sınıf devralınamaz.

public ref class FileInfo sealed : System::IO::FileSystemInfo
public sealed class FileInfo : System.IO.FileSystemInfo
[System.Serializable]
public sealed class FileInfo : System.IO.FileSystemInfo
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class FileInfo : System.IO.FileSystemInfo
type FileInfo = class
    inherit FileSystemInfo
[<System.Serializable>]
type FileInfo = class
    inherit FileSystemInfo
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileInfo = class
    inherit FileSystemInfo
Public NotInheritable Class FileInfo
Inherits FileSystemInfo
Devralma
Devralma
Öznitelikler

Örnekler

Aşağıdaki örnekte, FileInfo sınıfının bazı ana üyeleri gösterilmektedir.

Özellikler ilk alındığında, FileInfoRefresh yöntemini çağırır ve dosya hakkındaki bilgileri önbelleğe alır. Sonraki aramalarda, bilgilerin en son kopyasını almak için Refresh'ı aramanız gerekir.

using namespace System;
using namespace System::IO;

int main()
{
   String^ path = Path::GetTempFileName();
   FileInfo^ fi1 = gcnew FileInfo( path );
   //Create a file to write to.
   StreamWriter^ sw = fi1->CreateText();
   try
   {
     sw->WriteLine( "Hello" );
     sw->WriteLine( "And" );
     sw->WriteLine( "Welcome" );
   }
   finally
   {
     if ( sw )
        delete (IDisposable^)sw;
   }

   //Open the file to read from.
   StreamReader^ sr = fi1->OpenText();
   try
   {
      String^ s = "";
      while ( s = sr->ReadLine() )
      {
         Console::WriteLine( s );
      }
   }
   finally
   {
      if ( sr )
         delete (IDisposable^)sr;
   }

   try
   {
      String^ path2 = Path::GetTempFileName();
      FileInfo^ fi2 = gcnew FileInfo( path2 );

      //Ensure that the target does not exist.
      fi2->Delete();

      //Copy the file.
      fi1->CopyTo( path2 );
      Console::WriteLine( "{0} was copied to {1}.", path, path2 );

      //Delete the newly created file.
      fi2->Delete();
      Console::WriteLine( "{0} was successfully deleted.", path2 );
   }
   catch ( Exception^ e )
   {
      Console::WriteLine( "The process failed: {0}", e );
   }
}
using System;
using System.IO;

class Test
{
    
    public static void Main()
    {
        string path = Path.GetTempFileName();
        var fi1 = new FileInfo(path);

        // Create a file to write to.
        using (StreamWriter sw = fi1.CreateText())
        {
            sw.WriteLine("Hello");
            sw.WriteLine("And");
            sw.WriteLine("Welcome");
        }	

        // Open the file to read from.
        using (StreamReader sr = fi1.OpenText())
        {
            var s = "";
            while ((s = sr.ReadLine()) != null)
            {
                Console.WriteLine(s);
            }
        }

        try
        {
            string path2 = Path.GetTempFileName();
            var fi2 = new FileInfo(path2);

            // Ensure that the target does not exist.
            fi2.Delete();

            // Copy the file.
            fi1.CopyTo(path2);
            Console.WriteLine($"{path} was copied to {path2}.");

            // Delete the newly created file.
            fi2.Delete();
            Console.WriteLine($"{path2} was successfully deleted.");
        }
        catch (Exception e)
        {
            Console.WriteLine($"The process failed: {e.ToString()}");
        }
    }
}
Imports System.IO

Public Class Test

    Public Shared Sub Main()
        Dim path1 As String = Path.GetTempFileName()
        Dim path2 As String = Path.GetTempFileName()
        Dim fi As New FileInfo(path1)

        ' Create a file to write to.
        Using sw As StreamWriter = fi.CreateText()
            sw.WriteLine("Hello")
            sw.WriteLine("And")
            sw.WriteLine("Welcome")
        End Using

        Try
            ' Open the file to read from.
            Using sr As StreamReader = fi.OpenText()
                Do While sr.Peek() >= 0
                    Console.WriteLine(sr.ReadLine())
                Loop
            End Using

            Dim fi2 As New FileInfo(path2)

            ' Ensure that the target does not exist.
            fi2.Delete()

            ' Copy the file.
            fi.CopyTo(path2)
            Console.WriteLine($"{path1} was copied to {path2}.")

            ' Delete the newly created file.
            fi2.Delete()
            Console.WriteLine($"{path2} was successfully deleted.")

        Catch e As Exception
            Console.WriteLine($"The process failed: {e.ToString()}.")
        End Try
    End Sub
End Class

Bu örnek aşağıdakine benzer bir çıkış oluşturur.

Hello
And
Welcome
C:\Users\userName\AppData\Local\Temp\tmp70AB.tmp was copied to C:\Users\userName\AppData\Local\Temp\tmp70CB.tmp.
C:\Users\userName\AppData\Local\Temp\tmp70CB.tmp was successfully deleted.

Açıklamalar

Dosyaları kopyalama, taşıma, yeniden adlandırma, oluşturma, açma, silme ve dosyalara ekleme gibi tipik işlemler için FileInfo sınıfını kullanın.

Aynı dosyada birden çok işlem gerçekleştiriyorsanız, File sınıfının karşılık gelen statik yöntemleri yerine FileInfo örnek yöntemlerini kullanmak daha verimli olabilir çünkü güvenlik denetimi her zaman gerekli olmayacaktır.

FileInfo yöntemlerinin çoğu, dosyaları oluşturduğunuzda veya açtığınızda diğer G/Ç türlerini döndürür. Bir dosyayı daha fazla işlemek için bu diğer türleri kullanabilirsiniz. Daha fazla bilgi için, Open, OpenRead, OpenText, CreateTextveya Creategibi belirli FileInfo üyelerine bakın.

Varsayılan olarak, tüm kullanıcılara yeni dosyalara tam okuma/yazma erişimi verilir.

Aşağıdaki tabloda, çeşitli FileInfo yöntemlerinin davranışını özelleştirmek için kullanılan numaralandırmalar açıklanmaktadır.

Sayım Açıklama
FileAccess Bir dosyaya okuma ve yazma erişimini belirtir.
FileShare Zaten kullanımda olan bir dosya için izin verilen erişim düzeyini belirtir.
FileMode Var olan bir dosyanın içeriğinin korunup korunmadığını veya üzerine yazılıp yazılmayacağını ve var olan bir dosya oluşturma isteklerinin özel duruma neden olup olmadığını belirtir.

Not

Bir yolu giriş dizesi olarak kabul eden üyelerde, bu yol iyi biçimlendirilmiş olmalıdır veya bir özel durum oluşturulur. Örneğin, bir yol tam olarak nitelenmişse ancak bir boşlukla başlıyorsa, yol sınıfın yöntemlerinde kırpılmaz. Bu nedenle, yol yanlış biçimlendirilmiş ve bir özel durum oluşturulur. Benzer şekilde, bir yol veya yolların birleşimi iki kez tam olarak nitelenemez. Örneğin, "c:\temp c:\windows" da çoğu durumda bir özel durum oluşturur. Yol dizesini kabul eden yöntemleri kullanırken yollarınızın iyi biçimlendirildiğinden emin olun.

Yolu kabul eden üyelerde yol bir dosyaya veya yalnızca bir dizine başvurabilir. Belirtilen yol, bir sunucu ve paylaşım adı için göreli yola veya Evrensel Adlandırma Kuralı (UNC) yoluna da başvurabilir. Örneğin, aşağıdakilerin tümü kabul edilebilir yollardır:

  • C# dilinde "c:\\MyDir\\MyFile.txt" veya Visual Basic'te "c:\MyDir\MyFile.txt" .

  • C# dilinde "c:\\MyDir" veya Visual Basic'te "c:\MyDir".

  • C# dilinde "MyDir\\MySubdir" veya Visual Basic'te "MyDir\MySubDir".

  • C# dilinde "\\\\MyServer\\MyShare" veya Visual Basic'te "\\MyServer\MyShare".

FileInfo sınıfı, bir dosya hakkında bilgi almanızı sağlayan aşağıdaki özellikleri sağlar. Her özelliğin nasıl kullanılacağına ilişkin bir örnek için özellik sayfalarına bakın.

  • Directory özelliği, bir dosyanın üst dizinini temsil eden bir nesne alır.

  • DirectoryName özelliği, bir dosyanın üst dizininin tam yolunu alır.

  • Exists özelliği, üzerinde çalışmadan önce bir dosyanın olup olmadığını denetler.

  • IsReadOnly özelliği, bir dosyanın değiştirilip değiştirilemeyeceğini belirten bir değer alır veya ayarlar.

  • Length dosyanın boyutunu alır.

  • Name bir dosyanın adını alır.

Oluşturucular

FileInfo(String)

Bir dosya yolu için sarmalayıcı işlevi gören FileInfo sınıfının yeni bir örneğini başlatır.

Alanlar

FullPath

Dizin veya dosyanın tam yolunu temsil eder.

(Devralındığı yer: FileSystemInfo)
OriginalPath

Göreli veya mutlak olsun, başlangıçta kullanıcı tarafından belirtilen yol.

(Devralındığı yer: FileSystemInfo)

Özellikler

Attributes

Geçerli dosya veya dizin için öznitelikleri alır veya ayarlar.

(Devralındığı yer: FileSystemInfo)
CreationTime

Geçerli dosya veya dizinin oluşturma zamanını alır veya ayarlar.

(Devralındığı yer: FileSystemInfo)
CreationTimeUtc

Geçerli dosya veya dizinin oluşturma zamanını eşgüdümlü evrensel saat (UTC) olarak alır veya ayarlar.

(Devralındığı yer: FileSystemInfo)
Directory

Üst dizinin bir örneğini alır.

DirectoryName

Dizinin tam yolunu temsil eden bir dize alır.

Exists

Dosyanın var olup olmadığını belirten bir değer alır.

Extension

Dosya adının tamamı olsa bile baştaki nokta . veya uzantı yoksa boş bir dize dahil olmak üzere dosya adının uzantı bölümünü alır.

(Devralındığı yer: FileSystemInfo)
FullName

Dizinin veya dosyanın tam yolunu alır.

(Devralındığı yer: FileSystemInfo)
IsReadOnly

Geçerli dosyanın salt okunur olup olmadığını belirleyen bir değer alır veya ayarlar.

LastAccessTime

Geçerli dosyaya veya dizine en son erişildiği zamanı alır veya ayarlar.

(Devralındığı yer: FileSystemInfo)
LastAccessTimeUtc

Geçerli dosya veya dizine en son erişilen saati eşgüdümlü evrensel saat (UTC) olarak alır veya ayarlar.

(Devralındığı yer: FileSystemInfo)
LastWriteTime

Geçerli dosya veya dizinin en son yazıldığı zamanı alır veya ayarlar.

(Devralındığı yer: FileSystemInfo)
LastWriteTimeUtc

Geçerli dosya veya dizinin en son yazıldığı saati eşgüdümlü evrensel saat (UTC) olarak alır veya ayarlar.

(Devralındığı yer: FileSystemInfo)
Length

Geçerli dosyanın boyutunu bayt cinsinden alır.

LinkTarget

FullNameiçinde bulunan bağlantının hedef yolunu alır veya bu FileSystemInfo örneği bir bağlantıyı temsil etmiyorsa null.

(Devralındığı yer: FileSystemInfo)
Name

Dosyanın adını alır.

UnixFileMode

Geçerli dosya veya dizin için Unix dosya modunu alır veya ayarlar.

(Devralındığı yer: FileSystemInfo)

Yöntemler

AppendText()

FileInfobu örneği tarafından temsil edilen dosyaya metin ekleyen bir StreamWriter oluşturur.

CopyTo(String)

Varolan bir dosyayı yeni bir dosyaya kopyalar ve var olan bir dosyanın üzerine yazılmasının izin vermesine izin verme.

CopyTo(String, Boolean)

Var olan bir dosyayı yeni bir dosyaya kopyalayarak var olan bir dosyanın üzerine yazılmasını sağlar.

Create()

Bir dosya oluşturur.

CreateAsSymbolicLink(String)

belirtilen pathToTargetişaret eden FullName bulunan sembolik bir bağlantı oluşturur.

(Devralındığı yer: FileSystemInfo)
CreateObjRef(Type)

Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur.

(Devralındığı yer: MarshalByRefObject)
CreateText()

Yeni bir metin dosyası yazan bir StreamWriter oluşturur.

Decrypt()

Encrypt() yöntemini kullanarak geçerli hesap tarafından şifrelenen bir dosyanın şifresini çözer.

Delete()

Bir dosyayı kalıcı olarak siler.

Encrypt()

Yalnızca dosyayı şifrelemek için kullanılan hesabın şifresini çözebilmesi için bir dosyayı şifreler.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetAccessControl()

Geçerli FileInfo nesnesi tarafından açıklanan dosya için erişim denetimi listesi (ACL) girdilerini kapsülleyen bir FileSecurity nesnesi alır.

GetAccessControl(AccessControlSections)

Geçerli FileInfo nesnesi tarafından açıklanan dosya için belirtilen türde erişim denetimi listesi (ACL) girdilerini kapsülleyen bir FileSecurity nesnesi alır.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetLifetimeService()
Geçersiz.

Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır.

(Devralındığı yer: MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)
Geçersiz.

dosya adı ve ek özel durum bilgileriyle SerializationInfo nesnesini ayarlar.

(Devralındığı yer: FileSystemInfo)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
InitializeLifetimeService()
Geçersiz.

Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır.

(Devralındığı yer: MarshalByRefObject)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
MemberwiseClone(Boolean)

Geçerli MarshalByRefObject nesnesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: MarshalByRefObject)
MoveTo(String)

Belirtilen dosyayı yeni bir konuma taşır ve yeni bir dosya adı belirtme seçeneği sağlar.

MoveTo(String, Boolean)

Belirtilen dosyayı yeni bir konuma taşır ve yeni bir dosya adı belirtme ve zaten varsa hedef dosyanın üzerine yazma seçeneklerini sağlar.

Open(FileMode)

Belirtilen modda bir dosya açar.

Open(FileMode, FileAccess)

Bir dosyayı belirtilen modda okuma, yazma veya okuma/yazma erişimiyle açar.

Open(FileMode, FileAccess, FileShare)

Bir dosyayı belirtilen modda okuma, yazma veya okuma/yazma erişimi ve belirtilen paylaşım seçeneğiyle açar.

Open(FileStreamOptions)

FileStream sınıfının yeni bir örneğini belirtilen oluşturma modu, okuma/yazma ve paylaşma izniyle başlatır, diğer FileStreams'e erişim aynı dosyaya, arabellek boyutuna, ek dosya seçeneklerine ve ayırma boyutuna sahip olabilir.

OpenRead()

Salt okunur bir FileStreamoluşturur.

OpenText()

Mevcut bir metin dosyasından okuyan UTF8 kodlamalı bir StreamReader oluşturur.

OpenWrite()

Yalnızca yazma FileStreamoluşturur.

Refresh()

Nesnenin durumunu yeniler.

(Devralındığı yer: FileSystemInfo)
Replace(String, String)

Belirtilen dosyanın içeriğini geçerli FileInfo nesnesi tarafından açıklanan dosyayla değiştirir, özgün dosyayı siler ve değiştirilen dosyanın yedeğini oluşturur.

Replace(String, String, Boolean)

Belirtilen dosyanın içeriğini geçerli FileInfo nesnesi tarafından açıklanan dosyayla değiştirir, özgün dosyayı siler ve değiştirilen dosyanın yedeğini oluşturur. Ayrıca birleştirme hatalarının yoksayılıp yoksayılmayacağını belirtir.

ResolveLinkTarget(Boolean)

Belirtilen bağlantının hedefini alır.

(Devralındığı yer: FileSystemInfo)
SetAccessControl(FileSecurity)

Bir FileSecurity nesnesi tarafından tanımlanan erişim denetimi listesi (ACL) girdilerini geçerli FileInfo nesnesi tarafından açıklanan dosyaya uygular.

ToString()

FileInfo oluşturucuya geçirilen özgün yolu döndürür. Tam yol veya dosya adı için FullName veya Name özelliğini kullanın.

ToString()

Özgün yolu döndürür. Tam yol veya dosya/dizin adı için FullName veya Name özelliklerini kullanın.

(Devralındığı yer: FileSystemInfo)

Uzantı Metotları

Create(FileInfo, FileMode, FileSystemRights, FileShare, Int32, FileOptions, FileSecurity)

Belirtilen özellikler ve güvenlik ayarlarıyla oluşturulduğundan emin olarak yeni bir dosya akışı oluşturur.

GetAccessControl(FileInfo)

Bir dosyanın güvenlik bilgilerini döndürür.

GetAccessControl(FileInfo, AccessControlSections)

Bir dosyanın güvenlik bilgilerini döndürür.

SetAccessControl(FileInfo, FileSecurity)

Var olan bir dosyanın güvenlik özniteliklerini değiştirir.

Şunlara uygulanır

Ayrıca bkz.