TempFileCollection Klass

Definition

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.

Gäller för