TempFileCollection Sınıf

Tanım

Geçici dosyalar 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şturmak üzere 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 belirtilmediyse 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öntemi kullanılarak bir örneğine TempFileCollectionAddFile eklenebilir.

Belirli bir dosya uzantısının geçici bir 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.

Hem hem de AddExtension yöntemleri, AddFile 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, tutulacak ş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.

Not

Bu sınıf, bir bağlantı talebi ve tüm üyeler için geçerli olan sınıf düzeyinde devralma talebi içerir. Hemen SecurityException çağıranın veya türetilen sınıfın tam güven izni olmadığında bir oluşturulur. Güvenlik talepleri hakkında ayrıntılı bilgi için bkz. Bağlantı Talepleri ve Devralma Talepleri.

Oluşturucular

TempFileCollection()

TempFileCollection sınıfının yeni bir örneğini varsayılan değerlerle başlatır.

TempFileCollection(String)

Varsayılan olarak, oluşturma ve kullanmalarından sonra geçici dosyaları silmek için ayarlanan belirtilen geçici dizini kullanarak sınıfının yeni bir örneğini TempFileCollection 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 varsayılan olarak geçici dosyaların oluşturulmasından ve kullanımından sonra tutulup silinmeyeceğini belirtir.

Özellikler

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

Yöntem çağrıldığında veya koleksiyon atıldığında Delete() varsayılan olarak 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

AddExtension(String)

Koleksiyona belirtilen dosya adı uzantısına sahip bir dosya adı ekler.

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ı gerektiğini belirtir.

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 koleksiyon içinde saklanmak üzere işaretlenmeyen geçici dosyaları siler.

Dispose(Boolean)

TempFileCollection tarafından kullanılan yönetilmeyen kaynakları serbest bırakır ve yönetilen kaynakları isteğe bağlı olarak 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()

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

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

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

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

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

ICollection.CopyTo(Array, Int32)

Koleksiyonun öğelerini hedef dizinin belirtilen dizininden başlayarak bir diziye kopyalar.

ICollection.Count

Koleksiyondaki öğelerin 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()

Uygulama tarafından tanımlanan, yönetilmeyen kaynakları serbest bırakma, salma veya sıfırlama ile ilişkili görevleri gerçekleştirir.

IEnumerable.GetEnumerator()

Bir toplulukta tekrarlanan bir numaralandırıcı döndürür.

Uzantı Metotları

Cast<TResult>(IEnumerable)

öğesinin IEnumerable öğelerini belirtilen türe atar.

OfType<TResult>(IEnumerable)

Öğesinin IEnumerable öğelerini belirtilen türe göre filtreler.

AsParallel(IEnumerable)

Sorgunun paralelleştirilmesini etkinleştirir.

AsQueryable(IEnumerable)

bir IEnumerable öğesini öğesine IQueryabledönüştürür.

Şunlara uygulanır