TempFileCollection Klasa

Definicja

Reprezentuje kolekcję plików tymczasowych.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
Dziedziczenie
TempFileCollection
Atrybuty
Implementuje

Przykłady

Poniższy przykład pokazuje użycie TempFileCollection klasy AddExtension i metod i AddFile .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

Uwagi

TempFileCollectionmoże służyć do generowania unikatowych nazw plików i śledzenia listy plików.TempFileCollection can be used to generate unique file names and to keep track of a list of files. Może to być przydatne dla ICodeCompiler realizatorów podczas zarządzania listą plików pośrednich generowanych przez kompilator, które są czasami usuwane po użyciu.This can be useful to ICodeCompiler implementers when managing a list of compiler-generated intermediate files, which are sometimes deleted after use.

Aby określić katalog, w którym mają zostać wygenerowane unikatowe nazwy plików tymczasowych, użyj odpowiednio przeciążonego konstruktora.To specify a directory to generate unique temporary file names in, use an appropriately overloaded constructor. Można również użyć przeciążenia konstruktora, aby wskazać, czy pliki dodawane do kolekcji powinny, jeśli nie określono inaczej w przypadku użycia AddFile metod lub AddExtension , być usunięte, gdy Delete kolekcja jest usuwana lub wywoływana jest metoda.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.

Plik w dowolnym katalogu można dodać do wystąpienia TempFileCollection AddFile przy użyciu metody.A file in any directory can be added to an instance of TempFileCollection using the AddFile method.

Aby wygenerować unikatową nazwę pliku tymczasowego określonego rozszerzenia pliku, należy wywołać AddExtension i określić rozszerzenie nazwy pliku do wygenerowania.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. Metoda zwróci ciąg składający się z pełnej ścieżki do nazwy pliku określonego rozszerzenia w katalogu określonym TempDir przez właściwość. AddExtensionThe 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. AddExtension Metoda zwróci tylko jedną unikatową nazwę pliku na rozszerzenie nazwy pliku.The AddExtension method will only return one unique file name per file name extension.

Obie metody AddExtension Delete i mają przeciążenia, które umożliwiają określenie, czy pliki mają być usuwane, gdy kolekcja jest usuwana lub wywoływana jest metoda. AddFileBoth 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.

Delete Metoda usunie wszystkie pliki w kolekcji, z wyjątkiem tych, które są oznaczone jako przechowywane.The Delete method will delete all the files in the collection except those that are marked to be kept.

Właściwość wskazuje pełną ścieżkę do podstawowej nazwy pliku bez rozszerzenia nazwy pliku używanego do generowania nazw plików zwracanych AddExtension przez metodę. BasePathThe 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.

Uwaga

Ta klasa zawiera żądanie łącza i dziedziczenia na poziomie klasy stosowane do wszystkich składowych.This class contains a link demand and an inheritance demand at the class level that applies to all members. Występuje SecurityException , gdy bezpośredni obiekt wywołujący lub Klasa pochodna nie ma uprawnienia pełnego zaufania.A SecurityException is thrown when either the immediate caller or the derived class does not have full-trust permission. Aby uzyskać szczegółowe informacje o wymaganiach dotyczących zabezpieczeń, zobacz Wymagania dotyczące powiązań i wymaganiadotyczące dziedziczenia.For details about security demands, see Link Demands and Inheritance Demands.

Konstruktory

TempFileCollection()

Inicjuje nowe wystąpienie TempFileCollection klasy z wartościami domyślnymi.Initializes a new instance of the TempFileCollection class with default values.

TempFileCollection(String)

Inicjuje nowe wystąpienie TempFileCollection klasy przy użyciu określonego katalogu tymczasowego, który jest ustawiony do usuwania plików tymczasowych po ich generacji i użyciu domyślnie.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)

Inicjuje nowe wystąpienie TempFileCollection klasy przy użyciu określonego katalogu tymczasowego i określonej wartości wskazującej, czy należy zachować lub usunąć pliki tymczasowe po ich generacji i użyciu, domyślnie.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.

Właściwości

BasePath

Pobiera pełną ścieżkę do podstawowej nazwy pliku bez rozszerzenia nazwy pliku w tymczasowej ścieżce katalogu, która jest używana do generowania nazw plików tymczasowych dla kolekcji.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

Pobiera liczbę plików w kolekcji.Gets the number of files in the collection.

KeepFiles

Pobiera lub ustawia wartość wskazującą, czy pliki mają być domyślnie zachowywane, gdy Delete() wywoływana jest metoda lub kolekcja jest usuwana.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

Pobiera tymczasowy katalog do przechowywania plików tymczasowych w programie.Gets the temporary directory to store the temporary files in.

Metody

AddExtension(String)

Dodaje nazwę pliku z określonym rozszerzeniem nazwy pliku do kolekcji.Adds a file name with the specified file name extension to the collection.

AddExtension(String, Boolean)

Dodaje nazwę pliku z określonym rozszerzeniem nazwy pliku do kolekcji, używając określonej wartości wskazującej, czy plik powinien zostać usunięty czy zachowany.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)

Dodaje określony plik do kolekcji przy użyciu określonej wartości wskazującej, czy zachować plik po usunięciu kolekcji lub Delete() wywołaniu metody.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)

Kopiuje elementy członkowskie kolekcji do określonego ciągu, rozpoczynając od określonego indeksu.Copies the members of the collection to the specified string, beginning at the specified index.

Delete()

Usuwa pliki tymczasowe w tej kolekcji, które nie zostały oznaczone jako przechowywane.Deletes the temporary files within this collection that were not marked to be kept.

Dispose(Boolean)

Zwalnia niezarządzane zasoby używane przez TempFileCollection program i opcjonalnie zwalnia zarządzane zasoby.Releases the unmanaged resources used by the TempFileCollection and optionally releases the managed resources.

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
Finalize()

Podejmuje próbę usunięcia plików tymczasowych przed odzyskanie tego obiektu przez wyrzucanie elementów bezużytecznych.Attempts to delete the temporary files before this object is reclaimed by garbage collection.

GetEnumerator()

Pobiera moduł wyliczający, który może wyliczyć członków kolekcji.Gets an enumerator that can enumerate the members of the collection.

GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżącego wystąpienia.Gets the Type of the current instance.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy skróconą kopię bieżącego Object.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
ToString()

Zwraca ciąg, który reprezentuje bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Jawne implementacje interfejsu

ICollection.CopyTo(Array, Int32)

Kopiuje elementy kolekcji do tablicy, rozpoczynając od określonego indeksu tablicy docelowej.Copies the elements of the collection to an array, starting at the specified index of the target array.

ICollection.Count

Pobiera liczbę elementów zawartych w kolekcji.Gets the number of elements contained in the collection.

ICollection.IsSynchronized

Pobiera wartość wskazującą, czy dostęp do kolekcji jest synchronizowany (bezpieczny wątkowo).Gets a value indicating whether access to the collection is synchronized (thread safe).

ICollection.SyncRoot

Pobiera obiekt, który może służyć do synchronizowania dostępu do kolekcji.Gets an object that can be used to synchronize access to the collection.

IDisposable.Dispose()

Wykonuje zadania zdefiniowane przez aplikację skojarzone z uwalnianiem, zwalnianiem lub resetowaniem niezarządzanych zasobów.Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

IEnumerable.GetEnumerator()

Zwraca moduł wyliczający, który dokonuje iteracji w kolekcji.Returns an enumerator that iterates through a collection.

Metody rozszerzania

Cast<TResult>(IEnumerable)

Rzutuje elementy IEnumerable określonego typu.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtruje elementy IEnumerable w oparciu o określony typ.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Włącza przetwarzanie równoległe zapytania.Enables parallelization of a query.

AsQueryable(IEnumerable)

IEnumerable KonwertujeIQueryabledo.Converts an IEnumerable to an IQueryable.

Zabezpieczenia

SecurityPermission
do wyprowadzania z TempFileCollection klasy.for deriving from the TempFileCollection class. Wartość żądania: InheritanceDemand; PermissionSet: FullTrust.Demand value: InheritanceDemand; PermissionSet: FullTrust.

Dotyczy