Sdílet prostřednictvím


TempFileCollection Třída

Definice

Představuje kolekci dočasných souborů.

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
Dědičnost
TempFileCollection
Atributy
Implementuje

Příklady

Následující příklad ukazuje použití TempFileCollection třídy a AddExtension metod a AddFile metod.

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

Poznámky

TempFileCollection lze použít ke generování jedinečných názvů souborů a ke sledování seznamu souborů. To může být užitečné pro ICodeCompiler implementátory při správě seznamu zprostředkujících souborů generovaných kompilátorem, které se někdy po použití odstraní.

Chcete-li zadat adresář pro vygenerování jedinečných dočasných názvů souborů, použijte odpovídajícím přetíženým konstruktorem. Můžete také použít přetížení konstruktoru k označení, zda soubory přidané do kolekce by, pokud není zadán jinak při použití AddFile nebo AddExtension metody, být odstraněna při odstranění kolekce nebo Delete je volána metoda.

Soubor v libovolném adresáři lze přidat do instance TempFileCollection použití AddFile metody.

Pokud chcete vygenerovat jedinečný název dočasného souboru určité přípony souboru, zavolejte AddExtension a zadejte příponu názvu souboru, který se má vygenerovat. Metoda AddExtension vrátí řetězec skládající se z úplné cesty k názvu souboru zadané přípony v adresáři určeném TempDir vlastností. Metoda AddExtension vrátí pouze jeden jedinečný název souboru na příponu názvu souboru.

AddFile Obě i AddExtension metody mají přetížení, které umožňují určit, zda mají být soubory odstraněny při odstranění kolekce nebo Delete je volána metoda.

Metoda Delete odstraní všechny soubory v kolekci s výjimkou těch, které jsou označeny k zachování.

Vlastnost BasePath označuje úplnou cestu k názvu základního souboru bez přípony názvu souboru, která se používá k vygenerování názvů souborů vrácených metodou AddExtension .

Poznámka:

Tato třída obsahuje požadavek na propojení a poptávku dědičnosti na úrovni třídy, která se vztahuje na všechny členy. Vyvolá se SecurityException, pokud buď bezprostřední volající, nebo odvozená třída nemá oprávnění plné důvěryhodnosti. Podrobnosti o požadavcích na zabezpečení najdete v tématu Požadavky na propojení a požadavky dědičnosti.

Konstruktory

Name Description
TempFileCollection()

Inicializuje novou instanci TempFileCollection třídy s výchozími hodnotami.

TempFileCollection(String, Boolean)

Inicializuje novou instanci TempFileCollection třídy pomocí zadaného dočasného adresáře a zadanou hodnotu označující, zda se mají uchovávat nebo odstraňovat dočasné soubory po jejich generování a používat, ve výchozím nastavení.

TempFileCollection(String)

Inicializuje novou instanci třídy pomocí zadaného dočasného adresáře, který je nastaven pro odstranění dočasných TempFileCollection souborů po jejich generování a použití, ve výchozím nastavení.

Vlastnosti

Name Description
BasePath

Získá úplnou cestu k názvu základního souboru bez přípony názvu souboru v dočasné cestě k adresáři, který slouží k vygenerování dočasných názvů souborů pro kolekci.

Count

Získá počet souborů v kolekci.

KeepFiles

Získá nebo nastaví hodnotu určující, zda chcete zachovat soubory, ve výchozím nastavení, když Delete() je volána metoda nebo kolekce je uvolněna.

TempDir

Získá dočasný adresář pro uložení dočasných souborů do.

Metody

Name Description
AddExtension(String, Boolean)

Přidá název souboru se zadanou příponou názvu souboru do kolekce pomocí zadané hodnoty označující, zda má být soubor odstraněn nebo zachován.

AddExtension(String)

Přidá název souboru se zadanou příponou názvu souboru do kolekce.

AddFile(String, Boolean)

Přidá zadaný soubor do kolekce pomocí zadané hodnoty označující, zda se má soubor zachovat po odstranění kolekce nebo při Delete() zavolání metody.

CopyTo(String[], Int32)

Zkopíruje členy kolekce do zadaného řetězce počínaje zadaným indexem.

Delete()

Odstraní dočasné soubory v této kolekci, které nebyly označeny k uchovávání.

Dispose(Boolean)

Uvolní nespravované prostředky používané TempFileCollection a volitelně uvolní spravované prostředky.

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
Finalize()

Pokusí se odstranit dočasné soubory před uvolněním tohoto objektu uvolňováním paměti.

GetEnumerator()

Získá enumerátor, který může vytvořit výčet členů kolekce.

GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

Name Description
ICollection.CopyTo(Array, Int32)

Zkopíruje prvky kolekce do pole počínaje zadaným indexem cílového pole.

ICollection.Count

Získá počet prvků obsažených v kolekci.

ICollection.IsSynchronized

Získá hodnotu označující, zda je přístup ke kolekci synchronizován (bezpečné vlákno).

ICollection.SyncRoot

Získá objekt, který lze použít k synchronizaci přístupu k kolekci.

IDisposable.Dispose()

Provádí úlohy definované aplikací související s uvolněním, uvolněním nebo resetováním nespravovaných prostředků.

IEnumerable.GetEnumerator()

Vrátí enumerátor, který iteruje kolekcí.

Metody rozšíření

Name Description
AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede IEnumerable na IQueryable.

Cast<TResult>(IEnumerable)

Přetypuje prvky IEnumerable na zadaný typ.

OfType<TResult>(IEnumerable)

Filtruje prvky IEnumerable na základě zadaného typu.

Platí pro