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 .
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. |