FileInfo Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 |
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 |
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 |
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() |
Kullanımdan kalktı.
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) |
Kullanımdan kalktı.
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() |
Kullanımdan kalktı.
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. |