TempFileCollection 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.
Geçici dosya koleksiyonunu temsil eder.
public ref class TempFileCollection : IDisposable, System::Collections::ICollection
public class TempFileCollection : IDisposable, System.Collections.ICollection
[System.Serializable]
public class TempFileCollection : IDisposable, System.Collections.ICollection
type TempFileCollection = class
interface ICollection
interface IEnumerable
interface IDisposable
[<System.Serializable>]
type TempFileCollection = class
interface ICollection
interface IEnumerable
interface IDisposable
Public Class TempFileCollection
Implements ICollection, IDisposable
- Devralma
-
TempFileCollection
- Öznitelikler
- Uygulamalar
Örnekler
Aşağıdaki örnekte sınıfının ve ve AddFile yöntemlerinin TempFileCollectionAddExtension kullanımı gösterilmektedir.
using System;
using System.CodeDom.Compiler;
using System.IO;
class Program
{
static void Main(string[] args)
{
// Create a directory in the current working directory.
Directory.CreateDirectory("testDir");
TempFileCollection tfc = new TempFileCollection("testDir", false);
// Returns the file name relative to the current working directory.
string fileName = tfc.AddExtension("txt");
Console.WriteLine(fileName);
// Name a file in the test directory.
string file2Name = "testDir\\test.txt";
// Add the file to the temp directory and indicate it is to be kept.
tfc.AddFile(file2Name, true);
Console.WriteLine(tfc.Count);
// Create and use the test files.
FileStream fs1 = File.OpenWrite(fileName);
FileStream fs2 = File.OpenWrite(file2Name);
StreamWriter sw1 = new StreamWriter(fs1);
StreamWriter sw2 = new StreamWriter(fs2);
sw1.WriteLine("Test string");
sw2.WriteLine("Test string");
sw1.Close();
sw2.Close();
tfc.Delete();
Console.WriteLine(tfc.Count);
try
{
// This call should succeed.
File.OpenRead(file2Name);
// This call should fail.
File.OpenRead(fileName);
}
catch (FileNotFoundException e)
{
Console.WriteLine(e.Message);
}
}
}
Imports System.CodeDom.Compiler
Imports System.IO
Class Program
Shared Sub Main(ByVal args() As String)
' Create a directory in the current working directory.
Directory.CreateDirectory("testDir")
Dim tfc As New TempFileCollection("testDir", False)
' Returns the file name relative to the current working directory.
Dim fileName As String = tfc.AddExtension("txt")
Console.WriteLine(fileName)
' Name a file in the test directory.
Dim file2Name As String = "testDir\test.txt"
' Add the file to the temp directory and indicate it is to be kept.
tfc.AddFile(file2Name, True)
Console.WriteLine(tfc.Count)
' Create and use the test files.
Dim fs1 As FileStream = File.OpenWrite(fileName)
Dim fs2 As FileStream = File.OpenWrite(file2Name)
Dim sw1 As New StreamWriter(fs1)
Dim sw2 As New StreamWriter(fs2)
sw1.WriteLine("Test string")
sw2.WriteLine("Test string")
sw1.Close()
sw2.Close()
tfc.Delete()
Console.WriteLine(tfc.Count)
Try
' This call should succeed.
File.OpenRead(file2Name)
' This call should fail.
File.OpenRead(fileName)
Catch e As FileNotFoundException
Console.WriteLine(e.Message)
End Try
End Sub
End Class
Açıklamalar
TempFileCollection benzersiz dosya adları oluşturmak ve dosya listesini izlemek için kullanılabilir. Bu, derleyici tarafından oluşturulan ve bazen kullanımdan sonra silinen ara dosyaların listesini yönetirken uygulayıcılar için ICodeCompiler yararlı olabilir.
içinde benzersiz geçici dosya adları oluşturulacak bir dizin belirtmek için, uygun şekilde aşırı yüklenmiş bir oluşturucu kullanın. Koleksiyona eklenen dosyaların, veya AddExtension yöntemleri kullanılırken AddFile aksi belirtilmediğinde koleksiyon atıldığında veya Delete yöntemi çağrıldığında silinmesi gerekip gerekmediğini belirtmek için bir oluşturucu aşırı yüklemesi de kullanabilirsiniz.
Herhangi bir dizindeki bir dosya, yöntemini kullanarak bir örneğine TempFileCollectionAddFile eklenebilir.
Belirli bir dosya uzantısının geçici dosyası için benzersiz bir ad oluşturmak için çağırın AddExtension ve oluşturulacak dosya adının uzantısını belirtin. yöntemi, AddExtension özelliği tarafından TempDir belirtilen dizinde belirtilen uzantının dosya adının tam yolunu içeren bir dize döndürür. yöntemi, AddExtension dosya adı uzantısı başına yalnızca bir benzersiz dosya adı döndürür.
AddFile Hem hem de AddExtension yöntemleri, koleksiyon atıldığında veya yöntemi çağrıldığında dosyaların silinip silinmeyeceğini belirtmenize Delete olanak sağlayan aşırı yüklemelere sahiptir.
Delete yöntemi, korunacak şekilde işaretlenmiş olanlar dışında koleksiyondaki tüm dosyaları siler.
BasePath özelliği, yöntemi tarafından AddExtension döndürülen dosya adlarını oluşturmak için kullanılan dosya adı uzantısı olmadan temel dosya adının tam yolunu gösterir.
Uyarı
Bu sınıf, tüm üyeler için geçerli olan sınıf düzeyinde bir bağlantı talebi ve devralma talebi içerir. Hemen SecurityException çağıranın veya türetilen sınıfın tam güven izni olmadığında bir hata fırlatılır. Güvenlik talepleri hakkında ayrıntılı bilgi için bkz. Bağlantı Talepleri ve Devralma Talepleri.
Oluşturucular
| Name | Description |
|---|---|
| TempFileCollection() |
Sınıfın TempFileCollection yeni bir örneğini varsayılan değerlerle başlatır. |
| TempFileCollection(String, Boolean) |
Belirtilen geçici dizini ve belirtilen değeri kullanarak sınıfın TempFileCollection yeni bir örneğini başlatır ve geçici dosyaların oluşturma ve kullanımdan sonra varsayılan olarak tutulup silinmeyeceğini belirtir. |
| TempFileCollection(String) |
Sınıfın TempFileCollection yeni bir örneğini, varsayılan olarak oluşturma ve kullanmalarından sonra geçici dosyaları silmek üzere ayarlanan belirtilen geçici dizini kullanarak başlatır. |
Özellikler
| Name | Description |
|---|---|
| BasePath |
Koleksiyon için geçici dosya adları oluşturmak için kullanılan geçici dizin yolunda, dosya adı uzantısı olmadan temel dosya adının tam yolunu alır. |
| Count |
Koleksiyondaki dosya sayısını alır. |
| KeepFiles |
Varsayılan olarak, yöntem çağrıldığında veya koleksiyon atıldığında Delete() dosyaların tutulup tutulmayacağını belirten bir değer alır veya ayarlar. |
| TempDir |
Geçici dosyaları depolamak için geçici dizini alır. |
Yöntemler
| Name | Description |
|---|---|
| AddExtension(String, Boolean) |
Belirtilen dosya adı uzantısına sahip bir dosya adını koleksiyona ekler ve belirtilen değeri kullanarak dosyanın silinmesi veya saklanması gerekip gerekmediğini belirtir. |
| AddExtension(String) |
Koleksiyona belirtilen dosya adı uzantısına sahip bir dosya adı ekler. |
| AddFile(String, Boolean) |
Belirtilen dosyayı koleksiyona ekler ve belirtilen değeri kullanarak koleksiyon atıldıktan sonra veya yöntemi çağrıldığında Delete() dosyanın tutulup tutulmayacağını belirtir. |
| CopyTo(String[], Int32) |
Koleksiyonun üyelerini belirtilen dizinden başlayarak belirtilen dizeye kopyalar. |
| Delete() |
Bu koleksiyonda saklanmak üzere işaretlenmemiş geçici dosyaları siler. |
| Dispose(Boolean) |
tarafından TempFileCollection kullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları serbest bırakır. |
| Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
| Finalize() |
Bu nesne çöp toplama tarafından geri kazanılmadan önce geçici dosyaları silmeye çalışır. |
| GetEnumerator() |
Koleksiyonun üyelerini numaralandırabilen bir numaralandırıcı alır. |
| GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
| GetType() |
Geçerli örneğin Type alır. (Devralındığı yer: Object) |
| MemberwiseClone() |
Geçerli Objectbasit bir kopyasını oluşturur. (Devralındığı yer: Object) |
| ToString() |
Geçerli nesneyi temsil eden bir dize döndürür. (Devralındığı yer: Object) |
Belirtik Arabirim Kullanımları
| Name | Description |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Hedef dizinin belirtilen dizininden başlayarak koleksiyonun öğelerini bir diziye kopyalar. |
| ICollection.Count |
Koleksiyonda bulunan öğe sayısını alır. |
| ICollection.IsSynchronized |
Koleksiyona erişimin eşitlenip eşitlenmediğini belirten bir değer alır (iş parçacığı güvenli). |
| ICollection.SyncRoot |
Koleksiyona erişimi eşitlemek için kullanılabilecek bir nesne alır. |
| IDisposable.Dispose() |
Yönetilmeyen kaynakları serbest bırakma, serbest bırakma veya sıfırlama ile ilişkili uygulama tanımlı görevleri gerçekleştirir. |
| IEnumerable.GetEnumerator() |
Bir koleksiyonda yineleyen bir numaralandırıcı döndürür. |
Uzantı Metotları
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Sorgunun paralelleştirilmesini etkinleştirir. |
| AsQueryable(IEnumerable) |
bir IEnumerable öğesine IQueryabledönüştürür. |
| Cast<TResult>(IEnumerable) |
öğesinin IEnumerable öğelerini belirtilen türe yazar. |
| OfType<TResult>(IEnumerable) |
Belirtilen türe göre bir IEnumerable öğesinin öğelerini filtreler. |