TempFileCollection Klasse

Definition

Stellt eine Auflistung temporärer Dateien dar.Represents a collection of temporary files.

public ref class TempFileCollection : IDisposable, System::Collections::ICollection
[System.Serializable]
public class TempFileCollection : IDisposable, System.Collections.ICollection
type TempFileCollection = class
    interface ICollection
    interface IEnumerable
    interface IDisposable
Public Class TempFileCollection
Implements ICollection, IDisposable
Vererbung
TempFileCollection
Attribute
Implementiert

Beispiele

Das folgende Beispiel zeigt die Verwendung TempFileCollection der-Klasse und der-Methode und der AddExtension - AddFile Methode.The following example shows the use of the TempFileCollection class and the AddExtension and AddFile methods.

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

Hinweise

TempFileCollectionkann verwendet werden, um eindeutige Dateinamen zu generieren und eine Liste von Dateien nachzuverfolgen.TempFileCollection can be used to generate unique file names and to keep track of a list of files. Dies kann nützlich sein, ICodeCompiler Wenn Sie eine Liste der vom Compiler generierten zwischen Dateien verwalten, die nach der Verwendung manchmal gelöscht werden.This can be useful to ICodeCompiler implementers when managing a list of compiler-generated intermediate files, which are sometimes deleted after use.

Verwenden Sie einen entsprechend überladenen Konstruktor, um ein Verzeichnis anzugeben, in dem eindeutige temporäre Dateinamen generiert werden sollen.To specify a directory to generate unique temporary file names in, use an appropriately overloaded constructor. Sie können auch eine Konstruktorüberladung verwenden, um anzugeben, ob Dateien, die der Auflistung hinzugefügt werden sollen, andernfalls AddFile bei AddExtension Verwendung der-Methode oder der-Methode gelöscht werden sollen Delete , wenn die Auflistung verworfen oder die-Methode aufgerufen wird.You can also use a constructor overload to indicate whether files added to the collection should, if not specified otherwise when using the AddFile or AddExtension methods, be deleted when the collection is disposed or the Delete method is called.

Eine Datei in einem beliebigen Verzeichnis kann mithilfe der TempFileCollection AddFile -Methode einer Instanz von hinzugefügt werden.A file in any directory can be added to an instance of TempFileCollection using the AddFile method.

Um einen eindeutigen Namen für eine temporäre Datei einer bestimmten Dateierweiterung zu generieren, rufen AddExtension Sie auf, und geben Sie die Erweiterung des zu generierenden Datei namens an.To generate a unique name for a temporary file of a particular file extension, call AddExtension and specify the extension of the file name to generate. Die AddExtension -Methode gibt eine Zeichenfolge zurück, die aus einem vollständigen Pfad zu einem Dateinamen der angegebenen Erweiterung in dem Verzeichnis TempDir besteht, das durch die-Eigenschaft angegeben wird.The AddExtension method will return a string consisting of a full path to a file name of the specified extension in the directory specified by the TempDir property. Die AddExtension -Methode gibt nur einen eindeutigen Dateinamen pro Dateinamenerweiterung zurück.The AddExtension method will only return one unique file name per file name extension.

Sowohl die AddFile - AddExtension Methode als auch die-Methode verfügen über über Ladungen, mit denen Sie angeben können, ob die Dateien gelöscht werden Delete sollen, wenn die Auflistung verworfen oder die-Methode aufgerufen wird.Both the AddFile and AddExtension methods have overloads that allow you to specify whether the files should be deleted when the collection is disposed or the Delete method is called.

Die Delete -Methode löscht alle Dateien in der Auflistung, mit Ausnahme derjenigen, die für die Aufbewahrung markiert sind.The Delete method will delete all the files in the collection except those that are marked to be kept.

Die BasePath -Eigenschaft gibt den vollständigen Pfad des Basis Dateinamens ohne Dateinamenerweiterung an, die verwendet wird, um die von AddExtension der-Methode zurückgegebenen Dateinamen zu generieren.The BasePath property indicates a full path to the base file name, without a file name extension, used to generate the file names returned by the AddExtension method.

Hinweis

Diese Klasse enthält einen Link Aufruf und eine Vererbungs Anforderung auf Klassenebene, die für alle Member gilt.This class contains a link demand and an inheritance demand at the class level that applies to all members. Eine SecurityException wird ausgelöst, wenn der unmittelbare Aufrufer oder die abgeleitete Klasse nicht über die Berechtigung für volle Vertrauenswürdigkeit verfügt.A SecurityException is thrown when either the immediate caller or the derived class does not have full-trust permission. Ausführliche Informationen zu Sicherheitsanforderungen finden Sie unter Link Aufrufe und Vererbungs Anforderungen.For details about security demands, see Link Demands and Inheritance Demands.

Konstruktoren

TempFileCollection()

Initialisiert eine neue Instanz der TempFileCollection-Klasse mit Standardwerten.Initializes a new instance of the TempFileCollection class with default values.

TempFileCollection(String)

Initialisiert eine neue Instanz der TempFileCollection-Klasse mit dem angegebenen temporären Verzeichnis, für das festgelegt wurde, dass temporäre Dateien nach der Generierung und Verwendung standardmäßig gelöscht werden.Initializes a new instance of the TempFileCollection class using the specified temporary directory that is set to delete the temporary files after their generation and use, by default.

TempFileCollection(String, Boolean)

Initialisiert eine neue Instanz der TempFileCollection-Klasse mit den Angaben für das temporäre Verzeichnis und dem Wert, der angibt, ob die temporären Dateien nach der Generierung und Verwendung standardmäßig gelöscht oder beibehalten werden.Initializes a new instance of the TempFileCollection class using the specified temporary directory and specified value indicating whether to keep or delete the temporary files after their generation and use, by default.

Eigenschaften

BasePath

Ruft den vollständigen Pfad des Basisdateinamens ohne Dateinamenerweiterung im Pfad des temporären Verzeichnisses ab, das zum Generieren von temporären Dateinamen für die Auflistung verwendet wird.Gets the full path to the base file name, without a file name extension, on the temporary directory path, that is used to generate temporary file names for the collection.

Count

Ruft die Anzahl der Dateien in der Auflistung ab.Gets the number of files in the collection.

KeepFiles

Ruft einen Wert ab, der angibt, ob die Dateien beim Aufrufen der Delete()-Methode oder beim Freigeben der Auflistung standardmäßig beibehalten werden sollen, oder legt diesen fest.Gets or sets a value indicating whether to keep the files, by default, when the Delete() method is called or the collection is disposed.

TempDir

Ruft das temporäre Verzeichnis zum Speichern der temporären Dateien ab.Gets the temporary directory to store the temporary files in.

Methoden

AddExtension(String)

Fügt der Auflistung einen Dateinamen mit der angegebenen Dateinamenerweiterung hinzu.Adds a file name with the specified file name extension to the collection.

AddExtension(String, Boolean)

Fügt der Auflistung einen Dateinamen mit der angegebenen Dateinamenerweiterung unter Verwendung des angegebenen Wertes hinzu, der angibt, ob die Datei gelöscht oder beibehalten werden soll.Adds a file name with the specified file name extension to the collection, using the specified value indicating whether the file should be deleted or retained.

AddFile(String, Boolean)

Fügt der Auflistung die Datei mit dem angegebenen Wert hinzu, der festlegt, ob die Datei nach dem Löschen der Auflistung oder dem Aufruf der Delete()-Methode beibehalten werden soll.Adds the specified file to the collection, using the specified value indicating whether to keep the file after the collection is disposed or when the Delete() method is called.

CopyTo(String[], Int32)

Kopiert die Member der Auflistung beginnend am angegebenen Index in die angegebene Zeichenfolge.Copies the members of the collection to the specified string, beginning at the specified index.

Delete()

Löscht die temporären Dateien in dieser Auflistung, die nicht für das Beibehalten markiert wurden.Deletes the temporary files within this collection that were not marked to be kept.

Dispose(Boolean)

Gibt die von TempFileCollection verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.Releases the unmanaged resources used by the TempFileCollection and optionally releases the managed resources.

Equals(Object)

Ermittelt, ob das angegebene Objekt und das aktuelle Objekt gleich sind.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
Finalize()

Versucht, die temporären Dateien zu löschen, bevor dieses Objekt von der Garbage Collection freigegeben wird.Attempts to delete the temporary files before this object is reclaimed by garbage collection.

GetEnumerator()

Ruft einen Enumerator ab, der die Member der Auflistung aufzählen kann.Gets an enumerator that can enumerate the members of the collection.

GetHashCode()

Dient als die Standard-HashfunktionServes as the default hash function.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

ICollection.CopyTo(Array, Int32)

Kopiert die Elemente dieser Auflistung in ein Array, wobei am angegebenen Index des Zielarrays begonnen wird.Copies the elements of the collection to an array, starting at the specified index of the target array.

ICollection.Count

Ruft die Anzahl der Elemente in der Auflistung ab.Gets the number of elements contained in the collection.

ICollection.IsSynchronized

Ruft einen Wert ab, der angibt, ob der Zugriff auf die Auflistung synchronisiert ist (threadsicher).Gets a value indicating whether access to the collection is synchronized (thread safe).

ICollection.SyncRoot

Ruft ein Objekt ab, mit dem der Zugriff auf die Auflistung synchronisiert werden kann.Gets an object that can be used to synchronize access to the collection.

IDisposable.Dispose()

Führt anwendungsspezifische Aufgaben durch, die mit der Freigabe, der Zurückgabe oder dem Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen.Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

IEnumerable.GetEnumerator()

Gibt einen Enumerator zurück, der eine Auflistung durchläuft.Returns an enumerator that iterates through a collection.

Erweiterungsmethoden

Cast<TResult>(IEnumerable)

Wandelt die Elemente eines IEnumerable in den angegebenen Typ umCasts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtert die Elemente eines IEnumerable anhand eines angegebenen TypsFilters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Ermöglicht die Parallelisierung einer Abfrage.Enables parallelization of a query.

AsQueryable(IEnumerable)

Konvertiert einen IEnumerable in einen IQueryable.Converts an IEnumerable to an IQueryable.

Sicherheit

SecurityPermission
für die Ableitung von TempFileCollection der-Klasse.for deriving from the TempFileCollection class. Anforderungs Wert: InheritanceDemand; PermissionSet: FullTrust.Demand value: InheritanceDemand; PermissionSet: FullTrust.

Gilt für: