정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

FileInfo 클래스

2013-12-13

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

Namespace:  System.IO
어셈블리:  mscorlib(mscorlib.dll)

public sealed class FileInfo : FileSystemInfo

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

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

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

  이름설명
Public 메서드AppendTextFileInfo의 이 인스턴스가 나타내는 파일에 텍스트를 추가하는 StreamWriter를 만듭니다.
Public 메서드CopyTo(String)새 파일에 기존 파일을 복사하고 기존 파일을 덮어쓸 수 없도록 합니다.
Public 메서드CopyTo(String, Boolean)새 파일에 기존 파일을 복사하고 기존 파일을 덮어쓸 수 있도록 합니다.
Public 메서드Create파일을 만듭니다.
Public 메서드CreateText새 텍스트 파일을 쓰는 StreamWriter를 만듭니다.
Public 메서드Delete파일을 영구적으로 삭제합니다. (FileSystemInfo.Delete()을(를) 재정의함)
Public 메서드Equals(Object)지정한 Object가 현재 Object와 같은지 확인합니다. (Object에서 상속됨)
Protected 메서드Finalize가비지 수집기에서 Object를 회수하기 전에 개체가 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드GetHashCode특정 형식에 대한 해시 함수 역할을 합니다. (Object에서 상속됨)
Public 메서드GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Protected 메서드MemberwiseClone현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Public 메서드MoveTo지정된 파일을 새 위치로 이동하고 새 파일의 이름을 지정할 수 있는 옵션을 제공합니다.
Public 메서드Open(FileMode)지정된 모드로 파일을 엽니다.
Public 메서드Open(FileMode, FileAccess)읽기, 쓰기 또는 읽기/쓰기 권한을 사용하여 지정된 모드로 파일을 엽니다.
Public 메서드Open(FileMode, FileAccess, FileShare)읽기, 쓰기 또는 읽기/쓰기 권한과 지정된 공유 옵션을 사용하여 특정 모드로 파일을 엽니다.
Public 메서드OpenRead읽기 전용 FileStream을 만듭니다.
Public 메서드OpenTextUTF8 인코딩 방식으로 기존 텍스트 파일에서 읽는 StreamReader를 만듭니다.
Public 메서드OpenWrite쓰기 전용 FileStream을 만듭니다.
Public 메서드Refresh개체의 상태를 새로 고칩니다. (FileSystemInfo에서 상속됨)
Public 메서드ToString경로를 문자열로 반환합니다. (Object.ToString()을(를) 재정의함)
맨 위

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

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

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

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

참고참고:

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

경로가 적용되는 멤버에서 경로는 파일이나 디렉터리를 참조할 수 있습니다.

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

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

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

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

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

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

다음 예제에서는 사용자의 내 그림 폴더에서 임의로 선택한 이미지를 표시합니다. .jpg 또는 .png 확장명을 가진 파일을 나타내는 FileInfo 개체의 열거 가능한 컬렉션을 가져오려면 DirectoryInfo 클래스를 사용합니다. 해당 컬렉션은 임의의 숫자에 해당하는 파일을 선택하는 데 인덱스를 사용할 수 있도록 List<T> 컬렉션을 구성할 수 있습니다.

이 예제에서는 FileStream 클래스를 사용하여 비트맵 이미지를 만들고, Image 컨트롤(즉, myImage)의 소스로 설정합니다.


private void LoadImage()
{

	DirectoryInfo di = new DirectoryInfo(Environment.GetFolderPath(
		Environment.SpecialFolder.MyPictures));

	var files = from f in di.EnumerateFiles()
				where f.Extension.ToLower() == ".jpg" || 
					f.Extension == ".png"
				select f;

	int max = files.Count() + 1;

	Random rnd = new Random();
	int r = rnd.Next(0, max);

	List<FileInfo> pics = new List<FileInfo>(files);

	string randpic = pics[r].FullName;

	BitmapImage img = new BitmapImage();
	img.SetSource(new FileStream(randpic, FileMode.Open));

	MyImage.Source = img;

	
}


Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

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

표시: