TempFileCollection TempFileCollection TempFileCollection TempFileCollection Class

Definição

Representa uma coleção de arquivos temporários.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
Herança
TempFileCollectionTempFileCollectionTempFileCollectionTempFileCollection
Atributos
Implementações

Exemplos

O exemplo a seguir mostra o uso da TempFileCollection classe e os AddExtension métodos AddFile e.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
End Class 'Program

Comentários

TempFileCollectionpode ser usado para gerar nomes de arquivo exclusivos e controlar uma lista de arquivos.TempFileCollection can be used to generate unique file names and to keep track of a list of files. Isso pode ser útil para ICodeCompiler implementadores ao gerenciar uma lista de arquivos intermediários gerados pelo compilador, que às vezes são excluídos após o 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 um diretório para gerar nomes de arquivo temporários exclusivos no, use um Construtor adequadamente sobrecarregado.To specify a directory to generate unique temporary file names in, use an appropriately overloaded constructor. Você também pode usar uma sobrecarga de construtor para indicar se os arquivos adicionados à coleção devem, caso contrário, se não for AddFile especificado AddExtension ao usar os métodos ou, serão excluídos quando a coleção Delete for descartada ou o método for chamado.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.

Um arquivo em qualquer diretório pode ser adicionado a uma instância do TempFileCollection usando o AddFile método.A file in any directory can be added to an instance of TempFileCollection using the AddFile method.

Para gerar um nome exclusivo para um arquivo temporário de uma extensão de arquivo específica, AddExtension chame e especifique a extensão do nome de arquivo a ser gerado.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. O AddExtension método retornará uma cadeia de caracteres que consiste em um caminho completo para um nome de arquivo da extensão especificada no diretório especificado TempDir pela propriedade.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. O AddExtension método retornará apenas um nome de arquivo exclusivo por extensão de nome de arquivo.The AddExtension method will only return one unique file name per file name extension.

Os métodos AddExtension Delete e têm sobrecargas que permitem especificar se os arquivos devem ser excluídos quando a coleção é descartada ou o método é chamado. AddFileBoth 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.

O Delete método irá excluir todos os arquivos na coleção, exceto aqueles marcados para serem mantidos.The Delete method will delete all the files in the collection except those that are marked to be kept.

A BasePath propriedade indica um caminho completo para o nome do arquivo base, sem uma extensão de nome de arquivo, usada para gerar os nomes de AddExtension arquivo retornados pelo 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.

Observação

Esta classe contém uma demanda de link e uma demanda de herança no nível de classe que se aplica a todos os membros.This class contains a link demand and an inheritance demand at the class level that applies to all members. Um SecurityException é lançado quando o chamador imediato ou a classe derivada não tem permissão de confiança total.A SecurityException is thrown when either the immediate caller or the derived class does not have full-trust permission. Para obter detalhes sobre as demandas de segurança, consulte demandas de link e demandas de herança.For details about security demands, see Link Demands and Inheritance Demands.

Construtores

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

Inicializa uma nova instância da classe TempFileCollection com valores padrão.Initializes a new instance of the TempFileCollection class with default values.

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

Inicializa uma nova instância da classe TempFileCollection usando o diretório temporário especificado que é definido para excluir os arquivos temporários após a geração e o uso, por padrão.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 uma nova instância da classe TempFileCollection usando o diretório temporário especificado e o valor especificado, que indica se deseja manter ou excluir os arquivos temporários após a geração e o uso, por padrão.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.

Propriedades

BasePath BasePath BasePath BasePath

Obtém o caminho completo para o nome de arquivo base, sem uma extensão de nome de arquivo, no caminho de diretório temporário, usado para gerar nomes de arquivo temporários para a coleção.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

Obtém o número de arquivos na coleção.Gets the number of files in the collection.

KeepFiles KeepFiles KeepFiles KeepFiles

Obtém ou define um valor que indica se os arquivos devem ser mantidos, por padrão, quando o método Delete() é chamado ou a coleção é descartada.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

Obtém o diretório temporário para armazenar os arquivos temporários.Gets the temporary directory to store the temporary files in.

Métodos

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

Adiciona um nome de arquivo com a extensão de nome de arquivo especificada à coleção.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)

Adiciona um nome de arquivo com a extensão de nome de arquivo especificada na coleção, usando o valor especificado que indica se o arquivo deve ser excluído ou retido.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)

Adiciona o arquivo especificado na coleção, usando o valor especificado que indica se o arquivo deve ser mantido depois que a coleção é descartada ou quando o Delete() método é chamado.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 os membros da coleção para a cadeia de caracteres especificada, começando no índice especificado.Copies the members of the collection to the specified string, beginning at the specified index.

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

Exclui os arquivos temporários dentro desta coleção que não estavam marcados para ser mantidos.Deletes the temporary files within this collection that were not marked to be kept.

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

Libera os recursos não gerenciados usados pelo TempFileCollection e opcionalmente libera os recursos gerenciados.Releases the unmanaged resources used by the TempFileCollection and optionally releases the managed resources.

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

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

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

Tenta excluir os arquivos temporários antes que esse objeto seja recuperado pela coleta de lixo.Attempts to delete the temporary files before this object is reclaimed by garbage collection.

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

Obtém um enumerador que pode enumerar os membros da coleção.Gets an enumerator that can enumerate the members of the collection.

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

Serve como a função de hash padrão.Serves as the default hash function.

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

Obtém o Type da instância atual.Gets the Type of the current instance.

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

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

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

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Inherited from Object)

Implantações explícitas de interface

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

Copia os elementos da coleção para uma matriz, começando no índice especificado na 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

Obtém o número de elementos contidos na coleção.Gets the number of elements contained in the collection.

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

Obtém um valor que indica se o acesso à coleção é sincronizado (thread-safe).Gets a value indicating whether access to the collection is synchronized (thread safe).

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

Obtém um objeto que pode ser usado para sincronizar o acesso à coleção.Gets an object that can be used to synchronize access to the collection.

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

Realiza tarefas definidas pelo aplicativo associadas à liberação ou à redefinição de recursos não gerenciados.Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

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

Retorna um enumerador que itera em uma coleção.Returns an enumerator that iterates through a collection.

Métodos de Extensão

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

Converte os elementos de um IEnumerable para o 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 os elementos de um IEnumerable com base em um tipo especificado.Filters the elements of an IEnumerable based on a specified type.

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

Habilita a paralelização de uma consulta.Enables parallelization of a query.

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

Converte um IEnumerable em um IQueryable.Converts an IEnumerable to an IQueryable.

Segurança

SecurityPermission
para derivar da TempFileCollection classe.for deriving from the TempFileCollection class. Valor de demanda InheritanceDemand:; PermissionSet: FullTrust.Demand value: InheritanceDemand; PermissionSet: FullTrust.

Aplica-se a