Condividi tramite


TempFileCollection Classe

Definizione

Rappresenta una raccolta di file temporanei.

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
Ereditarietà
TempFileCollection
Attributi
Implementazioni

Esempio

Nell'esempio seguente viene illustrato l'uso della TempFileCollection classe e dei AddExtension metodi e 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

Commenti

TempFileCollection può essere usato per generare nomi di file univoci e per tenere traccia di un elenco di file. Ciò può essere utile per ICodeCompiler gli implementatori quando si gestisce un elenco di file intermedi generati dal compilatore, che a volte vengono eliminati dopo l'uso.

Per specificare una directory in cui generare nomi di file temporanei univoci, utilizzare un costruttore di overload appropriato. È anche possibile utilizzare un overload del costruttore per indicare se i file aggiunti alla raccolta devono, se non specificato diversamente quando si utilizzano i AddFile metodi o AddExtension , essere eliminati quando la raccolta viene eliminata o viene chiamato il Delete metodo .

È possibile aggiungere un file in qualsiasi directory a un'istanza di TempFileCollection utilizzando il AddFile metodo .

Per generare un nome univoco per un file temporaneo di una determinata estensione di file, chiamare AddExtension e specificare l'estensione del nome file da generare. Il AddExtension metodo restituirà una stringa costituita da un percorso completo di un nome file dell'estensione specificata nella directory specificata dalla TempDir proprietà . Il AddExtension metodo restituirà solo un nome di file univoco per ogni estensione di file.

Entrambi i AddFile metodi e AddExtension dispongono di overload che consentono di specificare se i file devono essere eliminati quando la raccolta viene eliminata o viene chiamato il Delete metodo .

Il Delete metodo eliminerà tutti i file nella raccolta, ad eccezione di quelli contrassegnati per essere conservati.

La BasePath proprietà indica un percorso completo del nome file di base, senza un'estensione di file, utilizzato per generare i nomi di file restituiti dal AddExtension metodo .

Annotazioni

Questa classe contiene una richiesta di collegamento e una richiesta di ereditarietà a livello di classe che si applica a tutti i membri. Viene lanciato un SecurityException quando il chiamante immediato o la classe derivata non dispone dell'autorizzazione di piena fiducia. Per informazioni dettagliate sulle richieste di sicurezza, vedere Richieste di collegamento e richieste di ereditarietà.

Costruttori

Nome Descrizione
TempFileCollection()

Inizializza una nuova istanza della TempFileCollection classe con valori predefiniti.

TempFileCollection(String, Boolean)

Inizializza una nuova istanza della TempFileCollection classe utilizzando la directory temporanea specificata e il valore specificato che indica se mantenere o eliminare i file temporanei dopo la generazione e l'utilizzo, per impostazione predefinita.

TempFileCollection(String)

Inizializza una nuova istanza della TempFileCollection classe utilizzando la directory temporanea specificata impostata per eliminare i file temporanei dopo la generazione e l'uso, per impostazione predefinita.

Proprietà

Nome Descrizione
BasePath

Ottiene il percorso completo del nome file di base, senza un'estensione di file, nel percorso della directory temporanea, utilizzato per generare nomi di file temporanei per la raccolta.

Count

Ottiene il numero di file nella raccolta.

KeepFiles

Ottiene o imposta un valore che indica se mantenere i file, per impostazione predefinita, quando viene chiamato il Delete() metodo o la raccolta viene eliminata.

TempDir

Ottiene la directory temporanea in cui archiviare i file temporanei.

Metodi

Nome Descrizione
AddExtension(String, Boolean)

Aggiunge un nome file con l'estensione del nome file specificata alla raccolta, utilizzando il valore specificato che indica se il file deve essere eliminato o conservato.

AddExtension(String)

Aggiunge un nome di file con l'estensione del nome file specificata alla raccolta.

AddFile(String, Boolean)

Aggiunge il file specificato alla raccolta utilizzando il valore specificato che indica se mantenere il file dopo l'eliminazione della raccolta o quando viene chiamato il Delete() metodo .

CopyTo(String[], Int32)

Copia i membri dell'insieme nella stringa specificata, a partire dall'indice specificato.

Delete()

Elimina i file temporanei all'interno di questa raccolta che non sono stati contrassegnati come mantenuti.

Dispose(Boolean)

Rilascia le risorse non gestite usate da TempFileCollection e, facoltativamente, rilascia le risorse gestite.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
Finalize()

Tenta di eliminare i file temporanei prima che questo oggetto venga recuperato da Garbage Collection.

GetEnumerator()

Ottiene un enumeratore in grado di enumerare i membri della raccolta.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

Nome Descrizione
ICollection.CopyTo(Array, Int32)

Copia gli elementi della raccolta in una matrice, a partire dall'indice specificato della matrice di destinazione.

ICollection.Count

Ottiene il numero di elementi contenuti nell'insieme.

ICollection.IsSynchronized

Ottiene un valore che indica se l'accesso alla raccolta è sincronizzato (thread-safe).

ICollection.SyncRoot

Ottiene un oggetto che può essere utilizzato per sincronizzare l'accesso all'insieme.

IDisposable.Dispose()

Esegue attività definite dall'applicazione associate alla liberazione, al rilascio o alla reimpostazione di risorse non gestite.

IEnumerable.GetEnumerator()

Restituisce un enumeratore che scorre un insieme.

Metodi di estensione

Nome Descrizione
AsParallel(IEnumerable)

Abilita la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un IEnumerable in un IQueryable.

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un IEnumerable al tipo specificato.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un IEnumerable in base a un tipo specificato.

Si applica a