내보내기(0) 인쇄
모두 확장
이 문서는 수동으로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오.
번역
원본

FileInfo 클래스

업데이트: 2010년 8월

파일을 만들고, 복사하고, 삭제하고, 이동하고, 열기 위한 속성 및 인스턴스 메서드를 제공하고, FileStream 개체를 만드는 것을 도와 줍니다. 이 클래스는 상속될 수 없습니다.

네임스페이스:  System.IO
어셈블리:  mscorlib(mscorlib.dll)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class FileInfo : FileSystemInfo

FileInfo 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 메서드XNA Framework에서 지원FileInfo파일 경로의 래퍼 역할을 하는 FileInfo 클래스의 새 인스턴스를 초기화합니다.
위쪽

  이름설명
Public 속성XNA Framework에서 지원Attributes현재 파일 또는 디렉터리의 특성을 가져오거나 설정합니다. (FileSystemInfo에서 상속됨)
Public 속성XNA Framework에서 지원CreationTime현재 파일 또는 디렉터리를 만든 시간을 가져오거나 설정합니다. (FileSystemInfo에서 상속됨)
Public 속성CreationTimeUtc현재 파일 또는 디렉터리를 만든 시간을 UTC(협정 세계시) 기준으로 가져오거나 설정합니다. (FileSystemInfo에서 상속됨)
Public 속성XNA Framework에서 지원Directory부모 디렉터리의 인스턴스를 가져옵니다.
Public 속성XNA Framework에서 지원DirectoryName디렉터리의 전체 경로를 나타내는 문자열을 가져옵니다.
Public 속성XNA Framework에서 지원Exists파일이 있는지 여부를 나타내는 값을 가져옵니다. (FileSystemInfo.Exists을(를) 재정의함)
Public 속성XNA Framework에서 지원Extension파일의 확장명 부분을 나타내는 문자열을 가져옵니다. (FileSystemInfo에서 상속됨)
Public 속성XNA Framework에서 지원FullName파일이나 디렉터리의 전체 경로를 가져옵니다. (FileSystemInfo에서 상속됨)
Public 속성IsReadOnly현재 파일이 읽기 전용인지 여부를 결정하는 값을 가져오거나 설정합니다.
Public 속성XNA Framework에서 지원LastAccessTime현재 파일이나 디렉터리에 마지막으로 액세스한 시간을 가져오거나 설정합니다. (FileSystemInfo에서 상속됨)
Public 속성LastAccessTimeUtc현재 파일이나 디렉터리를 마지막으로 액세스한 시간을 UTC 기준으로 가져오거나 설정합니다. (FileSystemInfo에서 상속됨)
Public 속성XNA Framework에서 지원LastWriteTime현재 파일이나 디렉터리에 마지막으로 쓴 시간을 가져오거나 설정합니다. (FileSystemInfo에서 상속됨)
Public 속성LastWriteTimeUtc현재 파일이나 디렉터리에 마지막으로 쓴 시간을 UTC 기준으로 가져오거나 설정합니다. (FileSystemInfo에서 상속됨)
Public 속성XNA Framework에서 지원Length현재 파일의 크기(바이트)를 가져옵니다.
Public 속성XNA Framework에서 지원Name파일 이름을 가져옵니다. (FileSystemInfo.Name을(를) 재정의함)
위쪽

  이름설명
Public 메서드XNA Framework에서 지원AppendText FileInfo 의 이 인스턴스가 나타내는 파일에 텍스트를 추가하는 StreamWriter를 만듭니다.
Public 메서드XNA Framework에서 지원CopyTo(String)새 파일에 기존 파일을 복사하고 기존 파일을 덮어쓸 수 없도록 합니다.
Public 메서드XNA Framework에서 지원CopyTo(String, Boolean)새 파일에 기존 파일을 복사하고 기존 파일을 덮어쓸 수 있도록 합니다.
Public 메서드XNA Framework에서 지원Create파일을 만듭니다.
Public 메서드CreateObjRef원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다. (MarshalByRefObject에서 상속됨)
Public 메서드XNA Framework에서 지원CreateText새 텍스트 파일을 쓰는 StreamWriter를 만듭니다.
Public 메서드Decrypt현재 계정으로 Encrypt 메서드를 통해 암호화된 파일을 해독합니다.
Public 메서드XNA Framework에서 지원Delete파일을 영구적으로 삭제합니다. (FileSystemInfo.Delete()을(를) 재정의함)
Public 메서드Encrypt파일을 암호화하는 데 사용된 계정으로만 해독할 수 있도록 암호화합니다.
Public 메서드XNA Framework에서 지원Equals(Object)지정한 Object가 현재 Object와 같은지 여부를 확인합니다. (Object에서 상속됨)
Protected 메서드XNA Framework에서 지원Finalize 개체가 가비지 수집자에서 회수되기 전에, 해당 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드GetAccessControl()현재 FileInfo 개체에서 설명하는 파일의 ACL(액세스 제어 목록) 항목을 캡슐화하는 FileSecurity 개체를 가져옵니다.
Public 메서드GetAccessControl(AccessControlSections)현재 FileInfo 개체에서 설명하는 파일의 지정된 ACL(액세스 제어 목록) 항목 형식을 캡슐화하는 FileSecurity 개체를 가져옵니다.
Public 메서드XNA Framework에서 지원GetHashCode특정 형식에 대한 해시 함수 역할을 합니다. (Object에서 상속됨)
Public 메서드GetLifetimeService이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다. (MarshalByRefObject에서 상속됨)
Public 메서드GetObjectData파일 이름 및 추가 예외 정보를 사용하여 SerializationInfo 개체를 설정합니다. (FileSystemInfo에서 상속됨)
Public 메서드XNA Framework에서 지원GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드InitializeLifetimeService이 인스턴스의 수명 정책을 제어하기 위한 수명 서비스 개체를 가져옵니다. (MarshalByRefObject에서 상속됨)
Protected 메서드XNA Framework에서 지원MemberwiseClone()현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Protected 메서드MemberwiseClone(Boolean)현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다. (MarshalByRefObject에서 상속됨)
Public 메서드XNA Framework에서 지원MoveTo지정된 파일을 새 위치로 이동하고 새 파일의 이름을 지정할 수 있는 옵션을 제공합니다.
Public 메서드XNA Framework에서 지원Open(FileMode)지정된 모드로 파일을 엽니다.
Public 메서드XNA Framework에서 지원Open(FileMode, FileAccess)읽기, 쓰기 또는 읽기/쓰기 권한을 사용하여 지정된 모드로 파일을 엽니다.
Public 메서드XNA Framework에서 지원Open(FileMode, FileAccess, FileShare)읽기, 쓰기 또는 읽기/쓰기 권한과 지정된 공유 옵션을 사용하여 특정 모드로 파일을 엽니다.
Public 메서드XNA Framework에서 지원OpenRead읽기 전용 FileStream을 만듭니다.
Public 메서드XNA Framework에서 지원OpenTextUTF8 인코딩 방식으로 기존 텍스트 파일에서 읽는 StreamReader를 만듭니다.
Public 메서드XNA Framework에서 지원OpenWrite쓰기 전용 FileStream을 만듭니다.
Public 메서드XNA Framework에서 지원Refresh개체의 상태를 새로 고칩니다. (FileSystemInfo에서 상속됨)
Public 메서드Replace(String, String)지정된 파일의 내용을 현재 FileInfo 개체에서 설명하는 파일로 대체합니다. 이때 원본 파일을 삭제하고 대체된 파일의 백업을 만듭니다.
Public 메서드Replace(String, String, Boolean)지정된 파일의 내용을 현재 FileInfo 개체에서 설명하는 파일로 대체합니다. 이때 원본 파일을 삭제하고 대체된 파일의 백업을 만듭니다. 병합 오류를 무시할지 여부도 지정합니다.
Public 메서드SetAccessControl FileSecurity 개체에서 설명하는 ACL(액세스 제어 목록) 항목을 현재 FileInfo 개체에서 설명하는 파일에 적용합니다.
Public 메서드XNA Framework에서 지원ToString경로를 문자열로 반환합니다. (Object.ToString()을(를) 재정의함)
위쪽

  이름설명
Protected 필드XNA Framework에서 지원FullPath파일이나 디렉터리의 정규화된 경로를 나타냅니다. (FileSystemInfo에서 상속됨)
Protected 필드XNA Framework에서 지원OriginalPath사용자가 원래 지정한 상대 또는 절대 경로입니다. (FileSystemInfo에서 상속됨)
위쪽

파일 복사, 이동, 이름 바꾸기, 만들기, 열기, 삭제 및 추가와 같은 일반적인 작업을 수행하려면 FileInfo 클래스를 사용할 수 있습니다.

많은 FileInfo 메서드가 파일을 만들거나 열 때 다른 I/O 형식을 반환합니다. 이러한 형식을 사용하여 보다 세부적으로 파일을 조작할 수 있습니다. 자세한 내용은 Open, OpenRead, OpenText, CreateText 또는 Create와 같은 특정 FileInfo 멤버를 참조하십시오.

개체를 여러 번 다시 사용해야 하는 경우에는 File 클래스의 해당하는 정적 메서드 대신 FileInfo 인스턴스 메서드를 사용할 수 있으며, 이 메서드는 보안 검사가 필수적이지 않습니다.

기본적으로 모든 사용자에게 새 파일에 대한 모든 읽기/쓰기 권한이 부여됩니다.

다음 표에서는 다양한 FileInfo 메서드의 작동을 사용자 지정하는 데 사용되는 열거형을 설명합니다.

열거형

설명

FileAccess

파일에 대한 읽기 및 쓰기 액세스를 지정합니다.

FileShare

이미 사용 중인 파일에 허용될 액세스 수준을 지정합니다.

FileMode

기존 파일의 내용을 유지할 것인지 덮어쓸 것인지 여부와 기존 파일을 만드는 요청에 예외를 발생시킬 것인지 여부를 지정합니다.

참고참고

입력 문자열로 경로를 받아들이는 멤버의 경우 해당 경로는 제대로 구성되어야 합니다. 그렇지 않으면 예외가 발생합니다. 예를 들어, 경로가 정규화된 경로이지만 공백으로 시작하면 클래스의 메서드에서 경로가 트리밍되지 않습니다. 따라서 경로가 잘못되고 예외가 발생합니다. 마찬가지로 경로나 경로 조합은 두 번 정규화될 수 없습니다. 예를 들어, "c:\temp c:\windows"는 대부분의 경우에 예외를 발생시킵니다. 경로 문자열이 적용되는 메서드를 사용할 경우 해당 경로가 제대로 구성되었는지 확인해야 합니다.

경로가 적용되는 멤버에서 경로는 파일이나 디렉터리를 참조할 수 있습니다. 또한 지정된 경로는 서버와 공유 이름의 상대 경로나 UNC(Universal Naming Convention) 경로를 나타낼 수 있습니다. 예를 들어, 다음과 같은 경로를 사용할 수 있습니다.

  • C#의 "c:\\MyDir\\MyFile.txt" 또는 Visual Basic의 "c:\MyDir\MyFile.txt"

  • C#의 "c:\\MyDir" 또는 Visual Basic의 "c:\MyDir"

  • C#의 "MyDir\\MySubdir" 또는 Visual Basic의 "MyDir\MySubDir"

  • C#의 "\\\\MyServer\\MyShare" 또는 Visual Basic의 "\\MyServer\MyShare"

FileInfo 클래스는 파일에 대한 정보를 검색할 수 있는 다음과 같은 속성을 제공합니다. 각 속성을 사용하는 방법에 대한 예제는 속성 페이지를 참조하십시오.

  • Directory 속성은 파일의 부모 디렉터리를 나타내는 개체를 검색합니다.

  • DirectoryName 속성은 파일의 부모 디렉터리 전체 경로를 검색합니다.

  • Exists 속성은 작동하기 전에 파일이 있는지 확인합니다.

  • IsReadOnly 속성은 파일을 수정할 수 있는지 여부를 지정하는 값을 검색하거나 설정합니다.

  • Length 는 파일의 크기를 검색합니다.

  • Name 는 파일의 이름을 검색합니다.

다음 예제에서는 FileInfo 클래스의 일부 주 멤버에 대해 설명합니다.

속성이 처음 검색되면 FileInfoRefresh 메서드를 호출하고 파일에 대한 정보를 캐시합니다. 다음에 호출할 때 Refresh를 호출하여 정보의 최신 복사본을 얻어야 합니다.


using System;
using System.IO;

class Test 
{
	
    public static void Main() 
    {
        string path = Path.GetTempFileName();
        FileInfo fi1 = new FileInfo(path);

        //Create a file to write to.
        using (StreamWriter sw = fi1.CreateText()) 
        {
            sw.WriteLine("Hello");
            sw.WriteLine("And");
            sw.WriteLine("Welcome");
        }	

        //Open the file to read from.
        using (StreamReader sr = fi1.OpenText()) 
        {
            string s = "";
            while ((s = sr.ReadLine()) != null) 
            {
                Console.WriteLine(s);
            }
        }

        try 
        {
            string path2 = Path.GetTempFileName();
            FileInfo fi2 = new FileInfo(path2);

            //Ensure that the target does not exist.
            fi2.Delete();

            //Copy the file.
            fi1.CopyTo(path2);
            Console.WriteLine("{0} was copied to {1}.", path, path2);

            //Delete the newly created file.
            fi2.Delete();
            Console.WriteLine("{0} was successfully deleted.", path2);

        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}


.NET Framework

4, 3.5, 3.0, 2.0, 1.1, 1.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

Windows 7, Windows Vista SP1 이상, Windows XP SP3, Windows XP SP2 x64 버전, Windows Server 2008(Server Core는 지원되지 않음), Windows Server 2008 R2(Server Core는 SP1 이상에서 지원됨), Windows Server 2003 SP2

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

날짜

변경 내용

이유

2010년 8월

속성에 대한 정보를 포함하도록 설명이 업데이트되었습니다.

향상된 기능 관련 정보

커뮤니티 추가 항목

추가
표시:
© 2014 Microsoft