Partilhar via


TempFileCollection Classe

Definição

Representa uma coleção de arquivos temporários.

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
Herança
TempFileCollection
Atributos
Implementações

Exemplos

O exemplo a seguir mostra o uso da TempFileCollection classe e dos métodos e AddFile da AddExtension classe.

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

Comentários

TempFileCollection pode ser usado para gerar nomes de arquivo exclusivos e manter o controle de uma lista de arquivos. Isso pode ser útil para ICodeCompiler os implementadores ao gerenciar uma lista de arquivos intermediários gerados pelo compilador, que às vezes são excluídos após o uso.

Para especificar um diretório para gerar nomes de arquivo temporários exclusivos, use um construtor sobrecarregado adequadamente. Você também pode usar uma sobrecarga de construtor para indicar se os arquivos adicionados à coleção devem, se não forem especificados de outra forma ao usar ou AddFileAddExtension métodos, serem excluídos quando a coleção for descartada ou se o Delete método for chamado.

Um arquivo em qualquer diretório pode ser adicionado a uma instância de TempFileCollection uso do AddFile método.

Para gerar um nome exclusivo para um arquivo temporário de uma extensão de arquivo específica, chame AddExtension e especifique a extensão do nome do arquivo a ser gerado. 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 pela TempDir propriedade. O AddExtension método retornará apenas um nome de arquivo exclusivo por extensão de nome de arquivo.

Os métodos e AddExtension os AddFile métodos têm sobrecargas que permitem especificar se os arquivos devem ser excluídos quando a coleção é descartada ou se o Delete método é chamado.

O Delete método excluirá todos os arquivos da coleção, exceto aqueles marcados para serem mantidos.

A BasePath propriedade indica um caminho completo para o nome do arquivo base, sem uma extensão de nome de arquivo, usado para gerar os nomes de arquivo retornados pelo AddExtension método.

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. Um SecurityException é lançado quando o chamador imediato ou a classe derivada não tem permissão de confiança total. Para obter detalhes sobre demandas de segurança, consulte Demandas de link e demandas de herança.

Construtores

Nome Description
TempFileCollection()

Inicializa uma nova instância da TempFileCollection classe com valores padrão.

TempFileCollection(String, Boolean)

Inicializa uma nova instância da TempFileCollection classe usando o diretório temporário especificado e o valor especificado que indica se os arquivos temporários devem ser mantidos ou excluídos após a geração e o uso, por padrão.

TempFileCollection(String)

Inicializa uma nova instância da TempFileCollection classe usando o diretório temporário especificado que está definido para excluir os arquivos temporários após sua geração e uso, por padrão.

Propriedades

Nome Description
BasePath

Obtém o caminho completo para o nome do arquivo base, sem uma extensão de nome de arquivo, no caminho do diretório temporário, que é usado para gerar nomes de arquivo temporários para a coleção.

Count

Obtém o número de arquivos na coleção.

KeepFiles

Obtém ou define um valor que indica se os arquivos devem ser mantidos, por padrão, quando o Delete() método é chamado ou a coleção é descartada.

TempDir

Obtém o diretório temporário no qual armazenar os arquivos temporários.

Métodos

Nome Description
AddExtension(String, Boolean)

Adiciona um nome de arquivo com a extensão de nome de arquivo especificada à coleção, usando o valor especificado que indica se o arquivo deve ser excluído ou retido.

AddExtension(String)

Adiciona um nome de arquivo com a extensão de nome de arquivo especificada à coleção.

AddFile(String, Boolean)

Adiciona o arquivo especificado à coleção, usando o valor especificado que indica se o arquivo deve ser mantido após a eliminação da coleção ou quando o Delete() método é chamado.

CopyTo(String[], Int32)

Copia os membros da coleção para a cadeia de caracteres especificada, começando no índice especificado.

Delete()

Exclui os arquivos temporários nessa coleção que não foram marcados para serem mantidos.

Dispose(Boolean)

Libera os recursos não gerenciados usados pelo TempFileCollection e, opcionalmente, libera os recursos gerenciados.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Finalize()

Tenta excluir os arquivos temporários antes que esse objeto seja recuperado pela coleta de lixo.

GetEnumerator()

Obtém um enumerador que pode enumerar os membros da coleção.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

Nome Description
ICollection.CopyTo(Array, Int32)

Copia os elementos da coleção para uma matriz, começando no índice especificado da matriz de destino.

ICollection.Count

Obtém o número de elementos contidos na coleção.

ICollection.IsSynchronized

Obtém um valor que indica se o acesso à coleção é sincronizado (thread safe).

ICollection.SyncRoot

Obtém um objeto que pode ser usado para sincronizar o acesso à coleção.

IDisposable.Dispose()

Executa tarefas definidas pelo aplicativo associadas à liberação, liberação ou redefinição de recursos não gerenciados.

IEnumerable.GetEnumerator()

Retorna um enumerador que itera por meio de uma coleção.

Métodos de Extensão

Nome Description
AsParallel(IEnumerable)

Habilita a paralelização de uma consulta.

AsQueryable(IEnumerable)

Converte um IEnumerable em um IQueryable.

Cast<TResult>(IEnumerable)

Converte os elementos de um IEnumerable para o tipo especificado.

OfType<TResult>(IEnumerable)

Filtra os elementos de um IEnumerable com base em um tipo especificado.

Aplica-se a