TempFileCollection Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar en samling temporära filer.
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
- Arv
-
TempFileCollection
- Attribut
- Implementeringar
Exempel
I följande exempel visas hur TempFileCollection klassen och AddExtension metoderna och AddFile används.
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
Kommentarer
TempFileCollection kan användas för att generera unika filnamn och för att hålla reda på en lista med filer. Detta kan vara användbart för ICodeCompiler implementerare när de hanterar en lista över kompilatorgenererade mellanliggande filer, som ibland tas bort efter användning.
Om du vill ange en katalog för att generera unika temporära filnamn i använder du en korrekt överbelastad konstruktor. Du kan också använda en konstruktoröverlagring för att ange om filer som läggs till i samlingen ska, om de inte anges på annat sätt när du använder AddFile metoderna eller AddExtension , tas bort när samlingen tas bort eller Delete metoden anropas.
En fil i valfri katalog kan läggas till i en instans av med hjälp AddFile av TempFileCollection metoden.
Om du vill generera ett unikt namn för en temporär fil med ett visst filnamnstillägg anropar AddExtension och anger du filnamnets tillägg som ska genereras. Metoden AddExtension returnerar en sträng som består av en fullständig sökväg till ett filnamn för det angivna tillägget i katalogen som anges av TempDir egenskapen. Metoden AddExtension returnerar endast ett unikt filnamn per filnamnstillägg.
AddFile Både metoderna och AddExtension har överlagringar som gör att du kan ange om filerna ska tas bort när samlingen tas bort eller Delete om metoden anropas.
Metoden Delete tar bort alla filer i samlingen förutom de som har markerats som ska behållas.
Egenskapen BasePath anger en fullständig sökväg till basfilnamnet, utan filnamnstillägg, som används för att generera filnamnen som returneras av AddExtension metoden.
Note
Den här klassen innehåller ett länkbehov och ett arvskrav på klassnivå som gäller för alla medlemmar. En SecurityException utlöses när antingen den omedelbara anroparen eller den härledda klassen inte har fullständig förtroendebehörighet. Mer information om säkerhetskrav finns i Länkkrav och arvskrav.
Konstruktorer
| Name | Description |
|---|---|
| TempFileCollection() |
Initierar en ny instans av TempFileCollection klassen med standardvärden. |
| TempFileCollection(String, Boolean) |
Initierar en ny instans av TempFileCollection klassen med den angivna temporära katalogen och angivet värde som anger om de temporära filerna ska behållas eller tas bort efter att de har skapats och använts som standard. |
| TempFileCollection(String) |
Initierar en ny instans av TempFileCollection klassen med den angivna temporära katalogen som är inställd på att ta bort de temporära filerna efter att de har skapats och använts, som standard. |
Egenskaper
| Name | Description |
|---|---|
| BasePath |
Hämtar den fullständiga sökvägen till basfilnamnet, utan filnamnstillägg, på den tillfälliga katalogsökvägen som används för att generera tillfälliga filnamn för samlingen. |
| Count |
Hämtar antalet filer i samlingen. |
| KeepFiles |
Hämtar eller anger ett värde som anger om filerna ska behållas som standard när Delete() metoden anropas eller samlingen tas bort. |
| TempDir |
Hämtar den temporära katalogen för att lagra de temporära filerna i. |
Metoder
| Name | Description |
|---|---|
| AddExtension(String, Boolean) |
Lägger till ett filnamn med det angivna filnamnstillägget i samlingen med det angivna värdet som anger om filen ska tas bort eller behållas. |
| AddExtension(String) |
Lägger till ett filnamn med det angivna filnamnstillägget i samlingen. |
| AddFile(String, Boolean) |
Lägger till den angivna filen i samlingen med det angivna värdet som anger om filen ska behållas efter att samlingen har kasserats eller när Delete() metoden anropas. |
| CopyTo(String[], Int32) |
Kopierar medlemmarna i samlingen till den angivna strängen med början vid det angivna indexet. |
| Delete() |
Tar bort de temporära filerna i den här samlingen som inte har markerats som ska behållas. |
| Dispose(Boolean) |
Släpper de ohanterade resurser som används av TempFileCollection och släpper eventuellt de hanterade resurserna. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| Finalize() |
Försöker ta bort de temporära filerna innan det här objektet tas bort av skräpinsamlingen. |
| GetEnumerator() |
Hämtar en uppräkning som kan räkna upp medlemmarna i samlingen. |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| ICollection.CopyTo(Array, Int32) |
Kopierar elementen i samlingen till en matris med början vid det angivna indexet för målmatrisen. |
| ICollection.Count |
Hämtar antalet element som finns i samlingen. |
| ICollection.IsSynchronized |
Hämtar ett värde som anger om åtkomsten till samlingen synkroniseras (trådsäker). |
| ICollection.SyncRoot |
Hämtar ett objekt som kan användas för att synkronisera åtkomsten till samlingen. |
| IDisposable.Dispose() |
Utför programdefinierade uppgifter som är associerade med att frigöra, frigöra eller återställa ohanterade resurser. |
| IEnumerable.GetEnumerator() |
Returnerar en uppräknare som itererar genom en samling. |
Tilläggsmetoder
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Möjliggör parallellisering av en fråga. |
| AsQueryable(IEnumerable) |
Konverterar en IEnumerable till en IQueryable. |
| Cast<TResult>(IEnumerable) |
Omvandlar elementen i en IEnumerable till den angivna typen. |
| OfType<TResult>(IEnumerable) |
Filtrerar elementen i en IEnumerable baserat på en angiven typ. |