TempFileCollection Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje kolekcję plików tymczasowych.
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
- Dziedziczenie
-
TempFileCollection
- Atrybuty
- Implementuje
Przykłady
W poniższym przykładzie przedstawiono użycie TempFileCollection klasy i AddExtension metod i 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
Uwagi
TempFileCollection można użyć do generowania unikatowych nazw plików i śledzenia listy plików. Może to być przydatne do ICodeCompiler implementacji podczas zarządzania listą plików pośrednich generowanych przez kompilator, które są czasami usuwane po użyciu.
Aby określić katalog do generowania unikatowych tymczasowych nazw plików, należy użyć odpowiednio przeciążonego konstruktora. Można również użyć przeciążenia konstruktora, aby wskazać, czy pliki dodane do kolekcji, jeśli nie określono inaczej w przypadku korzystania z AddFile metod lub AddExtension , należy usunąć po usunięciu kolekcji lub Delete wywołaniu metody.
Plik w dowolnym katalogu można dodać do wystąpienia TempFileCollection metody .AddFile
Aby wygenerować unikatową nazwę pliku tymczasowego określonego rozszerzenia pliku, wywołaj i AddExtension określ rozszerzenie nazwy pliku do wygenerowania. Metoda AddExtension zwróci ciąg składający się z pełnej ścieżki do nazwy pliku określonego rozszerzenia w katalogu określonym przez TempDir właściwość. Metoda AddExtension zwróci tylko jedną unikatową nazwę pliku na rozszerzenie nazwy pliku.
AddFile Metody i AddExtension mają przeciążenia, które umożliwiają określenie, czy pliki powinny zostać usunięte, gdy kolekcja zostanie usunięta, czy metoda jest wywoływanaDelete.
Metoda Delete usunie wszystkie pliki w kolekcji z wyjątkiem tych, które są oznaczone jako przechowywane.
Właściwość BasePath wskazuje pełną ścieżkę do nazwy pliku podstawowego bez rozszerzenia nazwy pliku używanego do generowania nazw plików zwracanych przez metodę AddExtension .
Uwaga
Ta klasa zawiera żądanie łącza i dziedziczenia na poziomie klasy stosowane do wszystkich składowych. Element jest SecurityException zgłaszany, gdy bezpośredni obiekt wywołujący lub klasa pochodna nie ma uprawnień pełnego zaufania. Aby uzyskać szczegółowe informacje na temat wymagań dotyczących zabezpieczeń, zobacz Łączenie żądań i żądań dziedziczenia.
Konstruktory
TempFileCollection() |
Inicjuje nowe wystąpienie klasy TempFileCollection z domyślnymi wartościami. |
TempFileCollection(String) |
Inicjuje nowe wystąpienie klasy przy użyciu określonego TempFileCollection katalogu tymczasowego ustawionego na usuwanie plików tymczasowych po ich wygenerowaniu i użyciu domyślnie. |
TempFileCollection(String, Boolean) |
Inicjuje nowe wystąpienie TempFileCollection klasy przy użyciu określonego katalogu tymczasowego i określoną wartość wskazującą, czy zachować lub usunąć pliki tymczasowe po ich wygenerowaniu i użyciu, domyślnie. |
Właściwości
BasePath |
Pobiera pełną ścieżkę do podstawowej nazwy pliku bez rozszerzenia nazwy pliku w ścieżce katalogu tymczasowego, która służy do generowania tymczasowych nazw plików dla kolekcji. |
Count |
Pobiera liczbę plików w kolekcji. |
KeepFiles |
Pobiera lub ustawia wartość wskazującą, czy pliki mają być domyślnie przechowywane, gdy Delete() metoda jest wywoływana, czy kolekcja jest usuwana. |
TempDir |
Pobiera katalog tymczasowy do przechowywania plików tymczasowych. |
Metody
AddExtension(String) |
Dodaje nazwę pliku z określonym rozszerzeniem nazwy pliku do kolekcji. |
AddExtension(String, Boolean) |
Dodaje nazwę pliku z określonym rozszerzeniem nazwy pliku do kolekcji przy użyciu określonej wartości wskazującej, czy plik powinien zostać usunięty, czy zachowany. |
AddFile(String, Boolean) |
Dodaje określony plik do kolekcji przy użyciu określonej wartości wskazującej, czy plik ma być zachowany po usunięciu kolekcji, czy po Delete() wywołaniu metody. |
CopyTo(String[], Int32) |
Kopiuje elementy członkowskie kolekcji do określonego ciągu, począwszy od określonego indeksu. |
Delete() |
Usuwa pliki tymczasowe w tej kolekcji, które nie zostały oznaczone jako przechowywane. |
Dispose(Boolean) |
Zwalnia zasoby niezarządzane używane przez element TempFileCollection i opcjonalnie zwalnia zasoby zarządzane. |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
Finalize() |
Próbuje usunąć pliki tymczasowe przed odzyskaniem tego obiektu przez odzyskiwanie pamięci. |
GetEnumerator() |
Pobiera moduł wyliczający, który może wyliczać członków kolekcji. |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Jawne implementacje interfejsu
ICollection.CopyTo(Array, Int32) |
Kopiuje elementy kolekcji do tablicy, zaczynając od określonego indeksu tablicy docelowej. |
ICollection.Count |
Pobiera liczbę elementów zawartych w kolekcji. |
ICollection.IsSynchronized |
Pobiera wartość wskazującą, czy dostęp do kolekcji jest synchronizowany (bezpieczny wątek). |
ICollection.SyncRoot |
Pobiera obiekt, który może służyć do synchronizowania dostępu do kolekcji. |
IDisposable.Dispose() |
Wykonuje zdefiniowane przez aplikację zadania skojarzone ze zwalnianiem lub resetowaniem zasobów niezarządzanych. |
IEnumerable.GetEnumerator() |
Zwraca moduł wyliczający, który iteruje po kolekcji. |
Metody rozszerzania
Cast<TResult>(IEnumerable) |
Rzutuje elementy elementu IEnumerable do określonego typu. |
OfType<TResult>(IEnumerable) |
Filtruje elementy elementu IEnumerable na podstawie określonego typu. |
AsParallel(IEnumerable) |
Umożliwia równoległość zapytania. |
AsQueryable(IEnumerable) |
Konwertuje element IEnumerable na .IQueryable |