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 .

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 po použití někdy odstraní.

Chcete-li zadat adresář pro generování jedinečných dočasných názvů souborů, použijte správně přetížený konstruktor. Můžete také použít přetížení konstruktoru k určení, zda soubory přidané do kolekce, pokud nejsou zadány jinak při použití AddFile metody nebo AddExtension , být odstraněny při odstranění kolekce nebo Delete je volána metoda.

Soubor v libovolném adresáři lze přidat do instance pomocí TempFileCollectionAddFile metody .

Chcete-li vygenerovat jedinečný název dočasného souboru s konkrétní příponou souboru, zavolejte AddExtension a zadejte příponu názvu souboru, který chcete 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 pro každou příponu názvu souboru.

AddFile Metody a AddExtension mají přetížení, které vám umožní 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čené k uchování.

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

Poznámka

Tato třída obsahuje požadavek na propojení a požadavek dědičnosti na úrovni třídy, který se vztahuje na všechny členy. Je SecurityException vyvolán, pokud bezprostředně volající nebo odvozená třída nemá oprávnění k úplnému vztahu důvěryhodnosti. Podrobnosti o požadavcích na zabezpečení najdete v tématu Propojení požadavků a Požadavků dědičnosti.

Konstruktory

TempFileCollection()

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

TempFileCollection(String)

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

TempFileCollection(String, Boolean)

Inicializuje novou instanci třídy pomocí zadaného dočasného TempFileCollection adresáře a zadané hodnoty určující, zda se mají dočasné soubory zachovat nebo odstranit po jejich vygenerování a použití ve výchozím nastavení.

Vlastnosti

BasePath

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

Count

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

KeepFiles

Získá nebo nastaví hodnotu označující, zda se mají zachovat soubory, ve výchozím nastavení, při Delete() zavolání metody nebo odstranění kolekce.

TempDir

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

Metody

AddExtension(String)

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

AddExtension(String, Boolean)

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

AddFile(String, Boolean)

Přidá zadaný soubor do kolekce pomocí zadané hodnoty urč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 rámci této kolekce, které nebyly označeny k uchovávání.

Dispose(Boolean)

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

Equals(Object)

Určí, zda se zadaný objekt rovná 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í hashovací funkce.

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

Type Získá z aktuální instance.

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

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

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

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

(Zděděno od Object)

Explicitní implementace rozhraní

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 přístup ke kolekci je synchronizován (bezpečné z více vláken).

ICollection.SyncRoot

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

IDisposable.Dispose()

Provede aplikací definované úlohy spojené s uvolněním nebo resetováním nespravovaných prostředků.

IEnumerable.GetEnumerator()

Vrací enumerátor procházející kolekci.

Metody rozšíření

Cast<TResult>(IEnumerable)

Přetypuje prvky objektu na IEnumerable zadaný typ.

OfType<TResult>(IEnumerable)

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

AsParallel(IEnumerable)

Umožňuje paralelizaci dotazu.

AsQueryable(IEnumerable)

Převede objekt na IEnumerableIQueryable.

Platí pro