Udostępnij za pośrednictwem


TempFileCollection Klasa

Definicja

Reprezentuje kolekcję plików tymczasowych.

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
Dziedziczenie
TempFileCollection
Atrybuty
Implementuje

Przykłady

W poniższym przykładzie przedstawiono użycie TempFileCollection klasy i AddExtension metod i AddFile .

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

TempFileCollection można użyć do generowania unikatowych nazw plików i śledzenia listy plików. Może to być przydatne do ICodeCompiler implementacji podczas zarządzania listą plików pośrednich generowanych przez kompilator, które są czasami usuwane po użyciu.

Aby określić katalog do generowania unikatowych tymczasowych nazw plików, należy użyć odpowiednio przeciążonego konstruktora. Można również użyć przeciążenia konstruktora, aby wskazać, czy pliki dodane do kolekcji, jeśli nie określono inaczej w przypadku korzystania z AddFile metod lub AddExtension , należy usunąć po usunięciu kolekcji lub Delete wywołaniu metody.

Plik w dowolnym katalogu można dodać do wystąpienia TempFileCollection metody .AddFile

Aby wygenerować unikatową nazwę pliku tymczasowego określonego rozszerzenia pliku, wywołaj i AddExtension określ rozszerzenie nazwy pliku do wygenerowania. Metoda AddExtension zwróci ciąg składający się z pełnej ścieżki do nazwy pliku określonego rozszerzenia w katalogu określonym przez TempDir właściwość. Metoda AddExtension zwróci tylko jedną unikatową nazwę pliku na rozszerzenie nazwy pliku.

AddFile Metody i AddExtension mają przeciążenia, które umożliwiają określenie, czy pliki powinny zostać usunięte, gdy kolekcja zostanie usunięta, czy metoda jest wywoływanaDelete.

Metoda Delete usunie wszystkie pliki w kolekcji z wyjątkiem tych, które są oznaczone jako przechowywane.

Właściwość BasePath wskazuje pełną ścieżkę do nazwy pliku podstawowego bez rozszerzenia nazwy pliku używanego do generowania nazw plików zwracanych przez metodę AddExtension .

Uwaga

Ta klasa zawiera żądanie łącza i dziedziczenia na poziomie klasy stosowane do wszystkich składowych. Element jest SecurityException zgłaszany, gdy bezpośredni obiekt wywołujący lub klasa pochodna nie ma uprawnień pełnego zaufania. Aby uzyskać szczegółowe informacje na temat wymagań dotyczących zabezpieczeń, zobacz Łączenie żądań i żądań dziedziczenia.

Konstruktory

TempFileCollection()

Inicjuje nowe wystąpienie klasy TempFileCollection z domyślnymi wartościami.

TempFileCollection(String)

Inicjuje nowe wystąpienie klasy przy użyciu określonego TempFileCollection katalogu tymczasowego ustawionego na usuwanie plików tymczasowych po ich wygenerowaniu i użyciu domyślnie.

TempFileCollection(String, Boolean)

Inicjuje nowe wystąpienie TempFileCollection klasy przy użyciu określonego katalogu tymczasowego i określoną wartość wskazującą, czy zachować lub usunąć pliki tymczasowe po ich wygenerowaniu i użyciu, domyślnie.

Właściwości

BasePath

Pobiera pełną ścieżkę do podstawowej nazwy pliku bez rozszerzenia nazwy pliku w ścieżce katalogu tymczasowego, która służy do generowania tymczasowych nazw plików dla kolekcji.

Count

Pobiera liczbę plików w kolekcji.

KeepFiles

Pobiera lub ustawia wartość wskazującą, czy pliki mają być domyślnie przechowywane, gdy Delete() metoda jest wywoływana, czy kolekcja jest usuwana.

TempDir

Pobiera katalog tymczasowy do przechowywania plików tymczasowych.

Metody

AddExtension(String)

Dodaje nazwę pliku z określonym rozszerzeniem nazwy pliku do kolekcji.

AddExtension(String, Boolean)

Dodaje nazwę pliku z określonym rozszerzeniem nazwy pliku do kolekcji przy użyciu określonej wartości wskazującej, czy plik powinien zostać usunięty, czy zachowany.

AddFile(String, Boolean)

Dodaje określony plik do kolekcji przy użyciu określonej wartości wskazującej, czy plik ma być zachowany po usunięciu kolekcji, czy po Delete() wywołaniu metody.

CopyTo(String[], Int32)

Kopiuje elementy członkowskie kolekcji do określonego ciągu, począwszy od określonego indeksu.

Delete()

Usuwa pliki tymczasowe w tej kolekcji, które nie zostały oznaczone jako przechowywane.

Dispose(Boolean)

Zwalnia zasoby niezarządzane używane przez element TempFileCollection i opcjonalnie zwalnia zasoby zarządzane.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Finalize()

Próbuje usunąć pliki tymczasowe przed odzyskaniem tego obiektu przez odzyskiwanie pamięci.

GetEnumerator()

Pobiera moduł wyliczający, który może wyliczać członków kolekcji.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

ICollection.CopyTo(Array, Int32)

Kopiuje elementy kolekcji do tablicy, zaczynając od określonego indeksu tablicy docelowej.

ICollection.Count

Pobiera liczbę elementów zawartych w kolekcji.

ICollection.IsSynchronized

Pobiera wartość wskazującą, czy dostęp do kolekcji jest synchronizowany (bezpieczny wątek).

ICollection.SyncRoot

Pobiera obiekt, który może służyć do synchronizowania dostępu do kolekcji.

IDisposable.Dispose()

Wykonuje zdefiniowane przez aplikację zadania skojarzone ze zwalnianiem lub resetowaniem zasobów niezarządzanych.

IEnumerable.GetEnumerator()

Zwraca moduł wyliczający, który iteruje po kolekcji.

Metody rozszerzania

Cast<TResult>(IEnumerable)

Rzutuje elementy elementu IEnumerable do określonego typu.

OfType<TResult>(IEnumerable)

Filtruje elementy elementu IEnumerable na podstawie określonego typu.

AsParallel(IEnumerable)

Umożliwia równoległość zapytania.

AsQueryable(IEnumerable)

Konwertuje element IEnumerable na .IQueryable

Dotyczy