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