FileInfo Sınıf

Tanım

Dosyaların oluşturulması, kopyalanması, silinmesi, taşınması ve açılması için özellikler ve örnek yöntemleri sağlar ve nesnelerin oluşturulmasına FileStream 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 sınıfın bazı ana üyeleri gösterilmektedir FileInfo .

Özellikler ilk FileInfo alındığında yöntemini çağırır Refresh ve dosya hakkındaki bilgileri önbelleğe alır. Sonraki aramalarda, bilgilerin en son kopyasını almak için aramanız Refresh 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

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

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

FileInfo Birçok yöntem, 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 , , OpenRead, OpenTextCreateTextveya Creategibi Openbelirli FileInfo üyelere 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öntemlerin davranışını özelleştirmek için kullanılan numaralandırmalar açıklanmaktadır.

Sabit Listesi Description
FileAccess 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 korunmayacağını veya üzerine yazılıp yazılmayacağını ve var olan bir dosyayı 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 nitelikliyse 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 yol birleşimi tam olarak iki kez 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".

sınıfı, FileInfo 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.

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

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

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

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

  • , Length bir 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 sınıfının yeni bir örneğini FileInfo başlatır.

Alanlar

FullPath

Dizinin 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 . dahil olmak üzere dosya adının uzantı bölümünü veya uzantı yoksa boş bir dizeyi 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 dosya 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 bayt cinsinden boyutunu alır.

LinkTarget

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

(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()

bu örneği FileInfotarafı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ı izin vermemeye yarar.

CopyTo(String, Boolean)

Varolan 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 pathToTargetöğesine işaret eden sembolik bir bağlantı FullName 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 StreamWriter metin dosyası yazan bir oluşturur.

Decrypt()

yöntemini kullanarak Encrypt() 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 dosyayı şifreler.

Equals(Object)

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

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

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

GetAccessControl(AccessControlSections)

Geçerli FileInfo nesne tarafından açıklanan dosya için belirtilen türdeki erişim denetimi listesi (ACL) girdilerini kapsülleyen bir FileSecurity nesne 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.

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

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

Type Geçerli örneğini 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 Objectöğesinin sığ bir kopyasını oluşturur.

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

Geçerli MarshalByRefObject nesnenin 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)

Okuma, yazma veya okuma/yazma erişimine ve belirtilen paylaşım seçeneğine sahip bir dosyayı belirtilen modda açar.

Open(FileStreamOptions)

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

OpenRead()

Salt FileStreamokunur oluşturur.

OpenText()

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

OpenWrite()

Salt FileStreamyazma oluşturur.

Refresh()

Nesnenin durumunu yeniler.

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

Belirtilen dosyanın içeriğini geçerli FileInfo nesne 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 nesne 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ı da belirtir.

ResolveLinkTarget(Boolean)

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

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

Bir nesne tarafından FileSecurity açıklanan erişim denetim listesi (ACL) girdilerini geçerli FileInfo nesne tarafından açıklanan dosyaya uygular.

ToString()

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

ToString()

Özgün yolu döndürür. FullName Tam yol veya dosya/dizin adı için 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)

Dosyanın güvenlik bilgilerini döndürür.

GetAccessControl(FileInfo, AccessControlSections)

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.