TempFileCollection Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 para 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 del 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 los archivos se deben eliminar 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 los que están marcados para conservarse.
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. |