TempFileCollection Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt eine Auflistung temporärer Dateien dar.
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
- Vererbung
-
TempFileCollection
- Attribute
- Implementiert
Beispiele
Das folgende Beispiel zeigt die Verwendung der TempFileCollection Klasse und der AddExtension Methoden 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
Hinweise
TempFileCollection kann verwendet werden, um eindeutige Dateinamen zu generieren und eine Liste von Dateien nachzuverfolgen. Dies kann hilfreich sein, wenn ICodeCompiler Sie eine Liste von compilergenerierten Zwischendateien verwalten, die manchmal nach der Verwendung gelöscht werden.
Verwenden Sie einen entsprechend überladenen Konstruktor, um ein Verzeichnis anzugeben, in dem eindeutige temporäre Dateinamen generiert werden sollen. Sie können auch eine Konstruktorüberladung verwenden, um anzugeben, ob Dateien, die der Auflistung hinzugefügt wurden, bei Verwendung der AddFile Methoden oder AddExtension Methoden nicht angegeben werden sollen, gelöscht werden sollen, wenn die Auflistung verworfen wird oder die Delete Methode aufgerufen wird.
Eine Datei in einem beliebigen Verzeichnis kann einer Instanz der TempFileCollection Verwendung der AddFile Methode hinzugefügt werden.
Um einen eindeutigen Namen für eine temporäre Dateierweiterung einer bestimmten Dateierweiterung zu generieren, rufen Sie AddExtension die Erweiterung des zu generierenden Dateinamens auf, und geben Sie ihn an. Die AddExtension Methode gibt eine Zeichenfolge zurück, die aus einem vollständigen Pfad zu einem Dateinamen der angegebenen Erweiterung im durch die TempDir Eigenschaft angegebenen Verzeichnis besteht. Die AddExtension Methode gibt nur einen eindeutigen Dateinamen pro Dateinamenerweiterung zurück.
Sowohl die AddFile Methoden AddExtension haben Überladungen, mit denen Sie angeben können, ob die Dateien gelöscht werden sollen, wenn die Auflistung verworfen wird oder die Delete Methode aufgerufen wird.
Die Delete Methode löscht alle Dateien in der Auflistung, mit Ausnahme der dateien, die als aufbewahrt gekennzeichnet sind.
Die BasePath Eigenschaft gibt einen vollständigen Pfad zum Basisdateinamen ohne Dateinamenerweiterung an, der verwendet wird, um die von der AddExtension Methode zurückgegebenen Dateinamen zu generieren.
Hinweis
Diese Klasse enthält einen Link-Bedarf und einen Vererbungsbedarf auf Klassenebene, der für alle Mitglieder gilt. Ein SecurityException wird ausgelöst, wenn entweder der unmittelbare Aufrufer oder die abgeleitete Klasse nicht über die Berechtigung zur vollen Vertrauenswürdigkeit verfügt. Ausführliche Informationen zu Sicherheitsanforderungen finden Sie unter Linkanforderungen und Vererbungsanforderungen.
Konstruktoren
| Name | Beschreibung |
|---|---|
| TempFileCollection() |
Initialisiert eine neue Instanz der TempFileCollection Klasse mit Standardwerten. |
| TempFileCollection(String, Boolean) |
Initialisiert eine neue Instanz der TempFileCollection Klasse mithilfe des angegebenen temporären Verzeichnisses und des angegebenen Werts, der angibt, ob die temporären Dateien nach der Generierung beibehalten oder gelöscht werden sollen und standardmäßig verwendet werden sollen. |
| TempFileCollection(String) |
Initialisiert eine neue Instanz der TempFileCollection Klasse mithilfe des angegebenen temporären Verzeichnisses, das so festgelegt ist, dass die temporären Dateien nach der Generierung gelöscht und standardmäßig verwendet werden. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| BasePath |
Ruft den vollständigen Pfad zum Basisdateinamen ohne Dateinamenerweiterung im temporären Verzeichnispfad ab, der zum Generieren temporärer Dateinamen für die Auflistung verwendet wird. |
| Count |
Ruft die Anzahl der Dateien in der Auflistung ab. |
| KeepFiles |
Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die Dateien standardmäßig beibehalten werden sollen, wenn die Delete() Methode aufgerufen oder die Auflistung verworfen wird. |
| TempDir |
Ruft das temporäre Verzeichnis ab, in dem die temporären Dateien gespeichert werden. |
Methoden
| Name | Beschreibung |
|---|---|
| AddExtension(String, Boolean) |
Fügt der Auflistung einen Dateinamen mit der angegebenen Dateinamenerweiterung hinzu, wobei der angegebene Wert verwendet wird, der angibt, ob die Datei gelöscht oder beibehalten werden soll. |
| AddExtension(String) |
Fügt der Auflistung einen Dateinamen mit der angegebenen Dateinamenerweiterung hinzu. |
| AddFile(String, Boolean) |
Fügt der Auflistung die angegebene Datei mithilfe des angegebenen Werts hinzu, der angibt, ob die Datei nach dem Löschen der Auflistung beibehalten werden soll oder wenn die Delete() Methode aufgerufen wird. |
| CopyTo(String[], Int32) |
Kopiert die Elemente der Auflistung in die angegebene Zeichenfolge, beginnend am angegebenen Index. |
| Delete() |
Löscht die temporären Dateien in dieser Auflistung, die nicht als aufbewahrt markiert wurden. |
| Dispose(Boolean) |
Gibt die nicht verwalteten Ressourcen frei, die von den TempFileCollection verwalteten Ressourcen verwendet werden, und gibt optional die verwalteten Ressourcen frei. |
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| Finalize() |
Versucht, die temporären Dateien zu löschen, bevor dieses Objekt von der Garbage Collection zurückgefordert wird. |
| GetEnumerator() |
Ruft einen Enumerator ab, der die Member der Auflistung aufzählen kann. |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Kopiert die Elemente der Auflistung in ein Array, beginnend am angegebenen Index des Zielarrays. |
| ICollection.Count |
Ruft die Anzahl der In der Auflistung enthaltenen Elemente ab. |
| ICollection.IsSynchronized |
Ruft einen Wert ab, der angibt, ob der Zugriff auf die Auflistung synchronisiert wird (Threadsicher). |
| ICollection.SyncRoot |
Ruft ein Objekt ab, das zum Synchronisieren des Zugriffs auf die Auflistung verwendet werden kann. |
| IDisposable.Dispose() |
Führt anwendungsdefinierte Aufgaben aus, die mit dem Freigeben, Freigeben oder Zurücksetzen nicht verwalteter Ressourcen verknüpft sind. |
| IEnumerable.GetEnumerator() |
Gibt einen Enumerator zurück, der eine Auflistung durchläuft. |
Erweiterungsmethoden
| Name | Beschreibung |
|---|---|
| AsParallel(IEnumerable) |
Aktiviert die Parallelisierung einer Abfrage. |
| AsQueryable(IEnumerable) |
Wandelt eine IEnumerable in eine IQueryableum. |
| Cast<TResult>(IEnumerable) |
Wandelt die Elemente eines IEnumerable in den angegebenen Typ um. |
| OfType<TResult>(IEnumerable) |
Filtert die Elemente einer IEnumerable basierend auf einem angegebenen Typ. |