TempFileCollection TempFileCollection TempFileCollection TempFileCollection Class

Definición

Representa una colección de archivos temporales.Represents a collection of temporary files.

public ref class TempFileCollection : IDisposable, System::Collections::ICollection
[System.Serializable]
public class TempFileCollection : IDisposable, System.Collections.ICollection
type TempFileCollection = class
    interface ICollection
    interface IEnumerable
    interface IDisposable
Public Class TempFileCollection
Implements ICollection, IDisposable
Herencia
TempFileCollectionTempFileCollectionTempFileCollectionTempFileCollection
Atributos
Implementaciones

Ejemplos

En el ejemplo siguiente se muestra el uso TempFileCollection de la clase AddExtension y AddFile los métodos y.The following example shows the use of the TempFileCollection class and the AddExtension and AddFile methods.

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 'Main 
End Class 'Program

Comentarios

TempFileCollectionse puede usar para generar nombres de archivo únicos y para realizar un seguimiento de una lista de archivos.TempFileCollection can be used to generate unique file names and to keep track of a list of files. Esto puede ser útil para ICodeCompiler los implementadores cuando se administra una lista de archivos intermedios generados por el compilador, que a veces se eliminan después del uso.This can be useful to ICodeCompiler implementers when managing a list of compiler-generated intermediate files, which are sometimes deleted after use.

Para especificar un directorio en el que generar nombres de archivo temporales únicos, use un constructor sobrecargado correctamente.To specify a directory to generate unique temporary file names in, use an appropriately overloaded constructor. También puede usar una sobrecarga de constructor para indicar si los archivos agregados a la colección deben, si no se especifica, AddFile cuando AddExtension se usan los métodos o, se deben eliminar cuando se desecha la Delete colección o se llama al método.You can also use a constructor overload to indicate whether files added to the collection should, if not specified otherwise when using the AddFile or AddExtension methods, be deleted when the collection is disposed or the Delete method is called.

Se puede Agregar un archivo en cualquier directorio a una instancia de TempFileCollection mediante el AddFile método.A file in any directory can be added to an instance of TempFileCollection using the AddFile method.

Para generar un nombre único para un archivo temporal de una extensión de archivo determinada, AddExtension llame a y especifique la extensión del nombre de archivo que se va a generar.To generate a unique name for a temporary file of a particular file extension, call AddExtension and specify the extension of the file name to generate. El AddExtension método devolverá una cadena que consta de una ruta de acceso completa a un nombre de archivo de la extensión especificada en el TempDir directorio especificado por la propiedad.The AddExtension method will return a string consisting of a full path to a file name of the specified extension in the directory specified by the TempDir property. El AddExtension método solo devolverá un nombre de archivo único por cada extensión de nombre de archivo.The AddExtension method will only return one unique file name per file name extension.

Los AddFile métodos y AddExtension tienen sobrecargas que permiten especificar si se deben eliminar los archivos cuando se desecha la colección o se llama al Delete método.Both the AddFile and AddExtension methods have overloads that allow you to specify whether the files should be deleted when the collection is disposed or the Delete method is called.

El Delete método eliminará todos los archivos de la colección excepto los que estén marcados para conservarse.The Delete method will delete all the files in the collection except those that are marked to be kept.

La BasePath propiedad indica una ruta de acceso completa al nombre de archivo base, sin una extensión de nombre de archivo, que se utiliza para generar AddExtension los nombres de archivo devueltos por el método.The BasePath property indicates a full path to the base file name, without a file name extension, used to generate the file names returned by the AddExtension method.

Nota

Esta clase contiene una petición de vínculo y una petición de herencia en el nivel de clase que se aplica a todos los miembros.This class contains a link demand and an inheritance demand at the class level that applies to all members. Se SecurityException produce una excepción cuando el llamador inmediato o la clase derivada no tienen permiso de plena confianza.A SecurityException is thrown when either the immediate caller or the derived class does not have full-trust permission. Para obtener más información sobre las demandas de seguridad, consulte peticiones de vínculo y peticiones de herencia.For details about security demands, see Link Demands and Inheritance Demands.

Constructores

TempFileCollection() TempFileCollection() TempFileCollection() TempFileCollection()

Inicializa una nueva instancia de la clase TempFileCollection con valores predeterminados.Initializes a new instance of the TempFileCollection class with default values.

TempFileCollection(String) TempFileCollection(String) TempFileCollection(String) TempFileCollection(String)

Inicializa una nueva instancia de la clase TempFileCollection utilizando el directorio temporal especificado que está establecido para eliminar los archivos temporales una vez generados y utilizados, de manera predeterminada.Initializes a new instance of the TempFileCollection class using the specified temporary directory that is set to delete the temporary files after their generation and use, by default.

TempFileCollection(String, Boolean) TempFileCollection(String, Boolean) TempFileCollection(String, Boolean) TempFileCollection(String, Boolean)

Inicializa una nueva instancia de la clase TempFileCollection utilizando el directorio temporal y el valor especificados, lo que indicará si deben mantenerse o eliminarse los archivos temporales una vez generados y utilizados, de manera predeterminada.Initializes a new instance of the TempFileCollection class using the specified temporary directory and specified value indicating whether to keep or delete the temporary files after their generation and use, by default.

Propiedades

BasePath BasePath BasePath BasePath

Obtiene la ruta de acceso completa al nombre de archivo base, sin una extensión de nombre de archivo en la ruta de directorio temporal que se utiliza para generar los nombres de archivo temporales para la colección.Gets the full path to the base file name, without a file name extension, on the temporary directory path, that is used to generate temporary file names for the collection.

Count Count Count Count

Obtiene el número de archivos de la colección.Gets the number of files in the collection.

KeepFiles KeepFiles KeepFiles KeepFiles

Obtiene o establece un valor que indica si se deben mantener los archivos de manera predeterminada al llamar al método Delete() o eliminar la colección.Gets or sets a value indicating whether to keep the files, by default, when the Delete() method is called or the collection is disposed.

TempDir TempDir TempDir TempDir

Obtiene el directorio temporal en el que van a almacenarse los archivos temporales.Gets the temporary directory to store the temporary files in.

Métodos

AddExtension(String) AddExtension(String) AddExtension(String) AddExtension(String)

Agrega a la colección un nombre de archivo con la extensión del nombre de archivo especificado.Adds a file name with the specified file name extension to the collection.

AddExtension(String, Boolean) AddExtension(String, Boolean) AddExtension(String, Boolean) AddExtension(String, Boolean)

Agrega a la colección un nombre de archivo con la extensión de archivo especificada utilizando el valor especificado que indica si el archivo debe eliminarse o conservarse.Adds a file name with the specified file name extension to the collection, using the specified value indicating whether the file should be deleted or retained.

AddFile(String, Boolean) AddFile(String, Boolean) AddFile(String, Boolean) AddFile(String, Boolean)

Agrega el archivo especificado a la colección utilizando el valor especificado que indica si debe mantenerse el archivo una vez se haya deshecho de la colección o al llamar al método Delete().Adds the specified file to the collection, using the specified value indicating whether to keep the file after the collection is disposed or when the Delete() method is called.

CopyTo(String[], Int32) CopyTo(String[], Int32) CopyTo(String[], Int32) CopyTo(String[], Int32)

Copia todos los miembros de la colección en la cadena especificada a partir del índice especificado.Copies the members of the collection to the specified string, beginning at the specified index.

Delete() Delete() Delete() Delete()

Elimina los archivos temporales dentro de esta colección que no están marcados para conservarse.Deletes the temporary files within this collection that were not marked to be kept.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Libera los recursos no administrados que usa TempFileCollection y, de forma opcional, libera los recursos administrados.Releases the unmanaged resources used by the TempFileCollection and optionally releases the managed resources.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
Finalize() Finalize() Finalize() Finalize()

Intenta eliminar los archivos temporales antes de que la recolección de elementos no utilizados reclame este objeto.Attempts to delete the temporary files before this object is reclaimed by garbage collection.

GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Obtiene un enumerador que puede enumerar los miembros de la colección.Gets an enumerator that can enumerate the members of the collection.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Implementaciones de interfaz explícitas

ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32)

Copia los elementos de la colección en una matriz, empezando en el índice especificado de la matriz de destino.Copies the elements of the collection to an array, starting at the specified index of the target array.

ICollection.Count ICollection.Count ICollection.Count ICollection.Count

Obtiene el número de elementos contenido en la colección.Gets the number of elements contained in the collection.

ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized

Obtiene un valor que indica si el acceso a la colección está sincronizado (es seguro para la ejecución de subprocesos).Gets a value indicating whether access to the collection is synchronized (thread safe).

ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot

Obtiene un objeto que se puede utilizar para sincronizar el acceso a la colección.Gets an object that can be used to synchronize access to the collection.

IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose()

Realiza tareas definidas por la aplicación asociadas a la liberación o al restablecimiento de recursos no administrados.Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator() IEnumerable.GetEnumerator()

Devuelve un enumerador que recorre en iteración una colección.Returns an enumerator that iterates through a collection.

Métodos de extensión

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Convierte los elementos de IEnumerable en el tipo especificado.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Filtra los elementos de IEnumerable en función de un tipo especificado.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Habilita la paralelización de una consulta.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Convierte una interfaz IEnumerable en IQueryable.Converts an IEnumerable to an IQueryable.

Seguridad

SecurityPermission
para derivar de la TempFileCollection clase.for deriving from the TempFileCollection class. Valor de petición InheritanceDemand:; PermissionSet: FullTrust.Demand value: InheritanceDemand; PermissionSet: FullTrust.

Se aplica a