TempFileCollection Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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. |