TempFileCollection Clase

Definición

Representa una colección de archivos temporales.

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
Herencia
TempFileCollection
Atributos
Implementaciones

Ejemplos

En el ejemplo siguiente se muestra el uso de la TempFileCollection clase y los AddExtension métodos y 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

Comentarios

TempFileCollection se puede usar para generar nombres de archivo únicos y realizar un seguimiento de una lista de archivos. Esto puede ser útil para los implementadores al ICodeCompiler administrar una lista de archivos intermedios generados por el compilador, que a veces se eliminan después de su uso.

Para especificar un directorio en el que generar nombres de archivo temporales únicos, use un constructor sobrecargado correctamente. También puede usar una sobrecarga de constructor para indicar si los archivos agregados a la colección deben, si no se especifican de otro modo cuando se usan los AddFile métodos o AddExtension , se eliminan cuando se elimina la colección o se llama al Delete método .

Se puede agregar un archivo en cualquier directorio a una instancia de TempFileCollection mediante el AddFile método .

Para generar un nombre único para un archivo temporal de una extensión de archivo determinada, llame AddExtension a y especifique la extensión del nombre de archivo que se va a generar. 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 directorio especificado por la TempDir propiedad . El AddExtension método solo devolverá un nombre de archivo único por extensión de nombre de archivo.

AddFile Los métodos y AddExtension tienen sobrecargas que permiten especificar si se deben eliminar los archivos cuando se elimina la colección o se llama al Delete método .

El Delete método eliminará todos los archivos de la colección, excepto aquellos marcados que se van a conservar.

La BasePath propiedad indica una ruta de acceso completa al nombre de archivo base, sin una extensión de nombre de archivo, utilizada para generar los nombres de archivo devueltos por el AddExtension método .

Nota

Esta clase contiene una demanda de vínculo y una demanda de herencia en el nivel de clase que se aplica a todos los miembros. SecurityException Se produce una excepción cuando el llamador inmediato o la clase derivada no tienen permiso de plena confianza. Para obtener más información sobre las demandas de seguridad, consulte Demandas de vínculo y demandas de herencia.

Constructores

TempFileCollection()

Inicializa una nueva instancia de la clase TempFileCollection con valores predeterminados.

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.

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.

Propiedades

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.

Count

Obtiene el número de archivos de la colección.

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.

TempDir

Obtiene el directorio temporal en el que van a almacenarse los archivos temporales.

Métodos

AddExtension(String)

Agrega a la colección un nombre de archivo con la extensión del nombre de archivo especificado.

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.

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().

CopyTo(String[], Int32)

Copia todos los miembros de la colección en la cadena especificada a partir del índice especificado.

Delete()

Elimina los archivos temporales dentro de esta colección que no están marcados para conservarse.

Dispose(Boolean)

Libera los recursos no administrados que usa TempFileCollection y, de forma opcional, libera los recursos administrados.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
Finalize()

Intenta eliminar los archivos temporales antes de que la recolección de elementos no utilizados reclame este objeto.

GetEnumerator()

Obtiene un enumerador que puede enumerar los miembros de la colección.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

ICollection.CopyTo(Array, Int32)

Copia los elementos de la colección en una matriz, empezando en el índice especificado de la matriz de destino.

ICollection.Count

Obtiene el número de elementos contenido en la colección.

ICollection.IsSynchronized

Obtiene un valor que indica si el acceso a la colección está sincronizado (es seguro para la ejecución de subprocesos).

ICollection.SyncRoot

Obtiene un objeto que se puede utilizar para sincronizar el acceso a la colección.

IDisposable.Dispose()

Realiza tareas definidas por la aplicación asociadas a la liberación o al restablecimiento de recursos no administrados.

IEnumerable.GetEnumerator()

Devuelve un enumerador que recorre en iteración una colección.

Métodos de extensión

Cast<TResult>(IEnumerable)

Convierte los elementos de IEnumerable en el tipo especificado.

OfType<TResult>(IEnumerable)

Filtra los elementos de IEnumerable en función de un tipo especificado.

AsParallel(IEnumerable)

Habilita la paralelización de una consulta.

AsQueryable(IEnumerable)

Convierte una interfaz IEnumerable en IQueryable.

Se aplica a