TempFileCollection Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 AddExtension métodos e 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
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 no qual 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 especificados de outra forma, ao usar os AddFile métodos ou AddExtension , serem excluídos quando a coleção for descartada ou o Delete método for chamado.
Um arquivo em qualquer diretório pode ser adicionado a uma instância do TempFileCollection usando o 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.
AddFile Os métodos e AddExtension 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 na 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 as demandas de segurança, consulte Vincular demandas e demandas de herança.
Construtores
TempFileCollection() |
Inicializa uma nova instância da classe TempFileCollection com valores padrão. |
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. |
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. |
Propriedades
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. |
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 método Delete() é chamado ou a coleção é descartada. |
TempDir |
Obtém o diretório temporário para armazenar os arquivos temporários. |
Métodos
AddExtension(String) |
Adiciona um nome de arquivo com a extensão de nome de arquivo especificada à coleção. |
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. |
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. |
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 dentro desta coleção que não estavam marcados para ser 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 Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Implantações explícitas de interface
ICollection.CopyTo(Array, Int32) |
Copia os elementos da coleção para uma matriz, começando no índice especificado na 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() |
Realiza tarefas definidas pelo aplicativo associadas à liberação ou à redefinição de recursos não gerenciados. |
IEnumerable.GetEnumerator() |
Retorna um enumerador que itera em uma coleção. |
Métodos de Extensão
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. |
AsParallel(IEnumerable) |
Habilita a paralelização de uma consulta. |
AsQueryable(IEnumerable) |
Converte um IEnumerable em um IQueryable. |