TempFileCollection Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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. |