TempFileCollection Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Ideiglenes fájlok gyűjteményét jelöli.
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
- Öröklődés
-
TempFileCollection
- Attribútumok
- Megvalósítás
Példák
Az alábbi példa az osztály és a TempFileCollectionAddExtensionAddFile metódusok használatát mutatja be.
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
Megjegyzések
TempFileCollection egyedi fájlnevek létrehozására és a fájlok listájának nyomon követésére használható. Ez hasznos lehet a implementátorok számára ICodeCompiler a fordító által létrehozott köztes fájlok listájának kezelésekor, amelyeket néha a használat után törölnek.
Ha meg szeretne adni egy könyvtárat, amelyben egyedi ideiglenes fájlneveket szeretne létrehozni, használjon megfelelően túlterhelt konstruktort. Konstruktor-túlterheléssel azt is jelezheti, hogy a gyűjteményhez hozzáadott fájlokat törölni kell-e, ha a metódusok vagy AddFile metódusok használatakor AddExtension másként nincs megadva, a gyűjtemény törlésekor vagy a Delete metódus meghívásakor.
Bármely könyvtárban lévő fájl hozzáadható a TempFileCollection metódus egy példányáhozAddFile.
Ha egyedi nevet szeretne létrehozni egy adott fájlkiterjesztés ideiglenes fájljának, hívja meg AddExtension és adja meg a létrehozandó fájlnév bővítményét. A AddExtension metódus egy olyan sztringet ad vissza, amely a tulajdonság által TempDir megadott könyvtárban található megadott kiterjesztés fájlnevének teljes elérési útját tartalmazza. A AddExtension metódus csak egy egyedi fájlnevet ad vissza fájlnévkiterjesztésenként.
AddFile A metódusok túlterhelésekkel AddExtension rendelkeznek, amelyek lehetővé teszik annak megadását, hogy a gyűjtemény törlésekor vagy a metódus meghívásakor törölni kell-e a Delete fájlokat.
A Delete metódus törli a gyűjtemény összes fájlját, kivéve azokat, amelyek megőrzendőként vannak megjelölve.
A BasePath tulajdonság az alapfájlnév teljes elérési útját jelzi fájlnévkiterjesztés nélkül a metódus által AddExtension visszaadott fájlnevek létrehozásához.
Note
Ez az osztály az összes tagra vonatkozó hivatkozási és öröklési igényt tartalmaz az osztály szintjén. A SecurityException akkor dobódik, ha az azonnali hívó vagy a származtatott osztály nem rendelkezik teljes megbízhatósági engedéllyel. A biztonsági követelményekkel kapcsolatos részletekért tekintse meg az Igények csatolása és az Öröklési igényekhivatkozása című témakört.
Konstruktorok
| Name | Description |
|---|---|
| TempFileCollection() |
Inicializálja az osztály új példányát alapértelmezett TempFileCollection értékekkel. |
| TempFileCollection(String, Boolean) |
Inicializálja az TempFileCollection osztály egy új példányát a megadott ideiglenes könyvtár és a megadott érték használatával, amely azt jelzi, hogy alapértelmezés szerint megtartja vagy törli-e az ideiglenes fájlokat a létrehozásuk és használatuk után. |
| TempFileCollection(String) |
Inicializálja az TempFileCollection osztály új példányát a megadott ideiglenes könyvtár használatával, amely alapértelmezés szerint úgy van beállítva, hogy a létrehozásuk és használatuk után törölje az ideiglenes fájlokat. |
Tulajdonságok
| Name | Description |
|---|---|
| BasePath |
Lekéri az alapfájlnév teljes elérési útját fájlnévkiterjesztés nélkül az ideiglenes könyvtár elérési útján, amely a gyűjtemény ideiglenes fájlneveinek létrehozására szolgál. |
| Count |
Lekéri a gyűjteményben lévő fájlok számát. |
| KeepFiles |
Lekéri vagy beállít egy értéket, amely jelzi, hogy a fájlok alapértelmezés szerint megmaradnak-e a Delete() metódus meghívásakor vagy a gyűjtemény elvetésekor. |
| TempDir |
Lekéri az ideiglenes könyvtárat az ideiglenes fájlok tárolásához. |
Metódusok
| Name | Description |
|---|---|
| AddExtension(String, Boolean) |
Hozzáad egy fájlnevet a megadott fájlnévkiterjesztéssel a gyűjteményhez a megadott érték használatával, amely jelzi, hogy a fájlt törölni vagy megőrizni kell-e. |
| AddExtension(String) |
Hozzáad egy fájlnevet a megadott fájlnévkiterjesztéssel a gyűjteményhez. |
| AddFile(String, Boolean) |
Hozzáadja a megadott fájlt a gyűjteményhez a megadott érték használatával, amely azt jelzi, hogy a gyűjtemény megsemmisítése vagy a metódus meghívása után megtartja-e a Delete() fájlt. |
| CopyTo(String[], Int32) |
Másolja a gyűjtemény tagjait a megadott sztringbe, a megadott indextől kezdve. |
| Delete() |
Törli a gyűjtemény azon ideiglenes fájljait, amelyek nincsenek megőrzendőként megjelölve. |
| Dispose(Boolean) |
Felszabadítja a felügyelt erőforrások által TempFileCollection használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat. |
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| Finalize() |
Megpróbálja törölni az ideiglenes fájlokat, mielőtt a szemétgyűjtés helyreállítja az objektumot. |
| GetEnumerator() |
Lekéri a gyűjtemény tagjait számba vevő enumerátort. |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
Explicit interfész-implementációk
| Name | Description |
|---|---|
| ICollection.CopyTo(Array, Int32) |
A gyűjtemény elemeit egy tömbbe másolja, a céltömb megadott indexétől kezdve. |
| ICollection.Count |
Lekéri a gyűjteményben található elemek számát. |
| ICollection.IsSynchronized |
Beolvas egy értéket, amely jelzi, hogy a gyűjteményhez való hozzáférés szinkronizálva van-e (a szál biztonságos). |
| ICollection.SyncRoot |
Lekéri a gyűjteményhez való hozzáférés szinkronizálására használható objektumot. |
| IDisposable.Dispose() |
Végrehajtja a nem felügyelt erőforrások felszabadításával, felszabadításával vagy alaphelyzetbe állításával kapcsolatos alkalmazásalapú feladatokat. |
| IEnumerable.GetEnumerator() |
Egy gyűjteményen keresztül iteráló enumerátort ad vissza. |
Bővítő metódusok
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Lehetővé teszi a lekérdezés párhuzamosítását. |
| AsQueryable(IEnumerable) |
Átalakítja az egyiket IEnumerableIQueryable. |
| Cast<TResult>(IEnumerable) |
Egy elem elemeit IEnumerable a megadott típusra veti. |
| OfType<TResult>(IEnumerable) |
Egy adott típus alapján szűri IEnumerable egy adott elem elemeit. |