TempFileCollection 클래스

정의

임시 파일의 컬렉션을 나타냅니다.Represents a collection of temporary files.

public ref class TempFileCollection : IDisposable, System::Collections::ICollection
[System.Serializable]
public class TempFileCollection : IDisposable, System.Collections.ICollection
type TempFileCollection = class
    interface ICollection
    interface IEnumerable
    interface IDisposable
Public Class TempFileCollection
Implements ICollection, IDisposable
상속
TempFileCollection
특성
구현

예제

다음 예제에서는 사용 된 TempFileCollection 클래스 및 AddExtensionAddFile 메서드.The following example shows the use of the TempFileCollection class and the AddExtension and AddFile methods.

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

설명

TempFileCollection 고유한 파일 이름을 생성 하 고 파일의 목록을 추적 하기 위해 사용할 수 있습니다.TempFileCollection can be used to generate unique file names and to keep track of a list of files. 이에 유용할 수 있습니다 ICodeCompiler 구현자 컴파일러에서 생성 된 중간 파일인 경우에 따라 사용 후 삭제 되는 목록을 관리 하는 경우.This can be useful to ICodeCompiler implementers when managing a list of compiler-generated intermediate files, which are sometimes deleted after use.

고유한 임시 파일 이름을 생성 하는 디렉터리를 지정 하는 적절 하 게 오버 로드 된 생성자를 사용 합니다.To specify a directory to generate unique temporary file names in, use an appropriately overloaded constructor. 여부를 컬렉션에 추가 된 파일은 다르게 지정 되지 않으면 사용 하는 경우를 나타내기 위해 생성자 오버 로드를 사용할 수도 있습니다는 AddFile 또는 AddExtension 메서드를 컬렉션 삭제 될 때 삭제할 또는 Delete 메서드가 호출 됩니다.You can also use a constructor overload to indicate whether files added to the collection should, if not specified otherwise when using the AddFile or AddExtension methods, be deleted when the collection is disposed or the Delete method is called.

모든 디렉터리의 파일에에서 인스턴스에 추가할 수 있습니다 TempFileCollection 를 사용 하는 AddFile 메서드.A file in any directory can be added to an instance of TempFileCollection using the AddFile method.

특정 파일 확장명의 임시 파일에 대 한 고유한 이름을 생성 하려면를 호출 AddExtension 하 고 생성할 파일 이름 확장명을 지정 합니다.To generate a unique name for a temporary file of a particular file extension, call AddExtension and specify the extension of the file name to generate. 합니다 AddExtension 메서드는 전체 경로에서 지정 된 디렉터리에서 지정 된 확장명의 파일 이름으로 이루어진 문자열을 반환 합니다 TempDir 속성입니다.The AddExtension method will return a string consisting of a full path to a file name of the specified extension in the directory specified by the TempDir property. AddExtension 메서드는 파일 이름 확장명 당 고유한 파일 이름이 하나씩만 반환 합니다.The AddExtension method will only return one unique file name per file name extension.

모두를 AddFileAddExtension 컬렉션 삭제 될 때 파일을 삭제할지 여부를 지정할 수 있도록 오버 로드를 포함 하는 메서드 또는 Delete 메서드가 호출 됩니다.Both the AddFile and AddExtension methods have overloads that allow you to specify whether the files should be deleted when the collection is disposed or the Delete method is called.

Delete 메서드는 제외 하 고 유지 하는 것으로 표시 된 컬렉션의 모든 파일을 삭제 합니다.The Delete method will delete all the files in the collection except those that are marked to be kept.

합니다 BasePath 속성에서 반환 된 파일 이름을 생성 하는 데 사용 하는 파일 이름 확장명 없이 기본 파일 이름에 전체 경로 나타냅니다는 AddExtension 메서드.The BasePath property indicates a full path to the base file name, without a file name extension, used to generate the file names returned by the AddExtension method.

참고

이 클래스는 모든 멤버에 적용 되는 클래스 수준에서 상속 요청과 링크 요청을 포함 합니다.This class contains a link demand and an inheritance demand at the class level that applies to all members. SecurityException 직접 실행 호출자 또는 파생된 클래스에 완전 신뢰 권한이 없는 경우 throw 됩니다.A SecurityException is thrown when either the immediate caller or the derived class does not have full-trust permission. 보안 요청에 대 한 자세한 내용은 참조 하세요 링크 요청 하 고 상속 요청합니다.For details about security demands, see Link Demands and Inheritance Demands.

생성자

TempFileCollection()

기본값을 사용하여 TempFileCollection 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the TempFileCollection class with default values.

TempFileCollection(String)

기본적으로, 임시 파일을 생성하고 사용한 후에 해당 임시 파일을 삭제하도록 설정한 지정된 임시 디렉터리를 사용하여 TempFileCollection 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the TempFileCollection class using the specified temporary directory that is set to delete the temporary files after their generation and use, by default.

TempFileCollection(String, Boolean)

기본적으로, 임시 파일을 생성하고사용한 후에 해당 임시 파일을 유지할 것인지 또는 삭제할 것인지 여부를 나타내는 지정된 값과 지정된 임시 디렉터리를 사용하여 TempFileCollection 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the TempFileCollection class using the specified temporary directory and specified value indicating whether to keep or delete the temporary files after their generation and use, by default.

속성

BasePath

컬렉션의 임시 파일 이름을 생성하는 데 사용되는 임시 디렉터리 경로의 기본 파일 이름(파일 확장명 제외)에 대한 전체 경로를 가져옵니다.Gets the full path to the base file name, without a file name extension, on the temporary directory path, that is used to generate temporary file names for the collection.

Count

컬렉션에 있는 파일의 수를 가져옵니다.Gets the number of files in the collection.

KeepFiles

Delete() 메서드가 호출되거나 컬렉션이 삭제될 때 기본적으로 파일을 유지하는지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value indicating whether to keep the files, by default, when the Delete() method is called or the collection is disposed.

TempDir

임시 파일을 저장할 임시 디렉터리를 가져옵니다.Gets the temporary directory to store the temporary files in.

메서드

AddExtension(String)

지정된 파일 확장명의 파일 이름을 컬렉션에 추가합니다.Adds a file name with the specified file name extension to the collection.

AddExtension(String, Boolean)

파일을 삭제해야 하는지 유지해야 하는지를 나타내는 지정된 값을 사용하여 지정된 파일 확장명의 파일 이름을 컬렉션에 추가합니다.Adds a file name with the specified file name extension to the collection, using the specified value indicating whether the file should be deleted or retained.

AddFile(String, Boolean)

컬렉션이 삭제되거나 Delete() 메서드가 호출될 때 파일을 보관할 것인지 여부를 나타내는 특정 값을 사용하여 지정된 파일을 컬렉션에 추가합니다.Adds the specified file to the collection, using the specified value indicating whether to keep the file after the collection is disposed or when the Delete() method is called.

CopyTo(String[], Int32)

지정된 인덱스에서 시작하여 지정된 문자열에 컬렉션의 멤버를 복사합니다.Copies the members of the collection to the specified string, beginning at the specified index.

Delete()

이 컬렉션 내에서 보관하도록 표시되지 않은 임시 파일을 삭제합니다.Deletes the temporary files within this collection that were not marked to be kept.

Dispose(Boolean)

TempFileCollection에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다.Releases the unmanaged resources used by the TempFileCollection and optionally releases the managed resources.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
Finalize()

가비지 수집에서 이 개체를 회수하기 전에 임시 파일을 삭제하려고 합니다.Attempts to delete the temporary files before this object is reclaimed by garbage collection.

GetEnumerator()

컬렉션의 멤버를 열거할 수 있는 열거자를 가져옵니다.Gets an enumerator that can enumerate the members of the collection.

GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

ICollection.CopyTo(Array, Int32)

컬렉션의 요소를 대상 배열의 지정한 인덱스에서 시작하는 배열에 복사합니다.Copies the elements of the collection to an array, starting at the specified index of the target array.

ICollection.Count

컬렉션에 포함된 요소 수를 가져옵니다.Gets the number of elements contained in the collection.

ICollection.IsSynchronized

해당 컬렉션에 대한 액세스가 동기화되어 스레드로부터 안전하게 보호되는지를 나타내는 값을 가져옵니다.Gets a value indicating whether access to the collection is synchronized (thread safe).

ICollection.SyncRoot

컬렉션에 대한 액세스를 동기화하는 데 사용할 수 있는 개체를 가져옵니다.Gets an object that can be used to synchronize access to the collection.

IDisposable.Dispose()

관리되지 않는 리소스의 확보, 해제 또는 다시 설정과 관련된 애플리케이션 정의 작업을 수행합니다.Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

IEnumerable.GetEnumerator()

컬렉션을 반복하는 열거자를 반환합니다.Returns an enumerator that iterates through a collection.

확장 메서드

Cast<TResult>(IEnumerable)

IEnumerable의 요소를 지정된 형식으로 캐스팅합니다.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

지정된 형식에 따라 IEnumerable의 요소를 필터링합니다.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

쿼리를 병렬화할 수 있도록 합니다.Enables parallelization of a query.

AsQueryable(IEnumerable)

IEnumerableIQueryable로 변환합니다.Converts an IEnumerable to an IQueryable.

보안

SecurityPermission
파생 된 TempFileCollection 클래스입니다.for deriving from the TempFileCollection class. 요청 값: InheritanceDemand; PermissionSet: FullTrust.Demand value: InheritanceDemand; PermissionSet: FullTrust.

적용 대상