TempFileCollection Classe

Definição

Representa uma coleção de ficheiros 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 seguinte 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

Observações

TempFileCollection pode ser usado para gerar nomes de ficheiros únicos e para acompanhar uma lista de ficheiros. Isto pode ser útil para ICodeCompiler implementadores ao gerir uma lista de ficheiros intermédios gerados por compiladores, que por vezes são eliminados após a utilização.

Para especificar um diretório onde gerar nomes temporários únicos de ficheiros, use um construtor sobrecarregado adequadamente. Também pode usar uma sobrecarga de construtores para indicar se os ficheiros adicionados à coleção devem, se não for especificado de outra forma ao usar os AddFile métodos ou AddExtension , ser eliminados quando a coleção for eliminada ou o Delete método for chamado.

Um ficheiro em qualquer diretório pode ser adicionado a uma instância de TempFileCollection usando o AddFile método.

Para gerar um nome único para um ficheiro temporário de uma determinada extensão, chame AddExtension e especifique a extensão do nome do ficheiro a gerar. O AddExtension método devolverá uma cadeia consistente num caminho completo para um nome de ficheiro com a extensão especificada no diretório especificado pela TempDir propriedade. O AddExtension método só devolverá um nome de ficheiro único por extensão de ficheiro.

Ambos os AddFile métodos e AddExtension têm sobrecargas que permitem especificar se os ficheiros devem ser eliminados quando a coleção é eliminada ou se o Delete método é chamado.

O Delete método apaga todos os ficheiros da coleção, exceto aqueles que estão marcados para serem guardados.

A BasePath propriedade indica um caminho completo até ao nome base do ficheiro, sem uma extensão de nome de ficheiro, usado para gerar os nomes dos ficheiros devolvidos pelo AddExtension método.

Note

Essa 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. A SecurityException é lançado quando o chamador imediato ou a classe derivada não tem permissão de confiança plena. Para detalhes sobre exigências de segurança, consulte Exigências de Ligação e Exigências de Herança.

Construtores

Name Description
TempFileCollection()

Inicializa uma nova instância da TempFileCollection classe com valores por defeito.

TempFileCollection(String, Boolean)

Inicializa uma nova instância da TempFileCollection classe usando o diretório temporário especificado e o valor especificado que indicam se deve manter ou eliminar os ficheiros temporários após a sua geração e uso, por defeito.

TempFileCollection(String)

Inicializa uma nova instância da TempFileCollection classe usando o diretório temporário especificado que está configurado para eliminar os ficheiros temporários após a sua geração e uso, por defeito.

Propriedades

Name Description
BasePath

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

Count

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

KeepFiles

Recebe ou define um valor que indica se deve manter os ficheiros, por defeito, quando o Delete() método é chamado ou quando a coleção é eliminada.

TempDir

Obtém o diretório temporário para armazenar os ficheiros temporários.

Métodos

Name Description
AddExtension(String, Boolean)

Adiciona um nome de ficheiro com a extensão especificada à coleção, usando o valor especificado que indica se o ficheiro deve ser eliminado ou mantido.

AddExtension(String)

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

AddFile(String, Boolean)

Adiciona o ficheiro especificado à coleção, usando o valor especificado que indica se deve manter o ficheiro 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 especificada, começando no índice especificado.

Delete()

Apaga os ficheiros temporários dentro desta coleção que não estavam marcados para serem guardados.

Dispose(Boolean)

Liberta os recursos não geridos usados pelo TempFileCollection e opcionalmente liberta os recursos geridos.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
Finalize()

Tenta eliminar os ficheiros temporários antes que este objeto seja recuperado pelo garbage collection.

GetEnumerator()

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

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Implementações de Interface Explícita

Name Description
ICollection.CopyTo(Array, Int32)

Copia os elementos da coleção para um array, começando no índice especificado do array-alvo.

ICollection.Count

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

ICollection.IsSynchronized

Recebe um valor que indica se o acesso à coleção está sincronizado (thread safe).

ICollection.SyncRoot

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

IDisposable.Dispose()

Realiza tarefas definidas pela aplicação associadas à libertação, libertação ou reinício de recursos não geridos.

IEnumerable.GetEnumerator()

Devolve um enumerador que itera numa coleção.

Métodos da Extensão

Name Description
AsParallel(IEnumerable)

Permite a paralelização de uma consulta.

AsQueryable(IEnumerable)

Converte um IEnumerable para um IQueryable.

Cast<TResult>(IEnumerable)

Conjura os elementos de an IEnumerable para o tipo especificado.

OfType<TResult>(IEnumerable)

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

Aplica-se a