내보내기(0) 인쇄
모두 확장
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

FileStream 클래스

2013-12-13

파일에 대해 Stream을 제공하여 동기 및 비동기 읽기/쓰기 작업을 모두 지원합니다.

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

public class FileStream : Stream

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

  이름설명
Public 메서드FileStream(String, FileMode)지정된 경로 및 생성 모드들 사용하여 FileStream 클래스의 새 인스턴스를 초기화합니다.
Public 메서드FileStream(String, FileMode, FileAccess)지정된 경로, 생성 모드 및 읽기/쓰기 권한을 사용하여 FileStream 클래스의 새 인스턴스를 초기화합니다.
Public 메서드FileStream(String, FileMode, FileAccess, FileShare)지정된 경로, 생성 모드, 읽기/쓰기 권한 및 공유 권한을 사용하여 FileStream 클래스의 새 인스턴스를 초기화합니다.
Public 메서드FileStream(String, FileMode, FileAccess, FileShare, Int32)지정된 경로, 생성 모드, 읽기/쓰기 및 공유 권한, 버퍼 크기를 사용하여 FileStream 클래스의 새 인스턴스를 초기화합니다.
맨 위

  이름설명
Public 속성CanRead현재 스트림이 읽기를 지원하는지 여부를 나타내는 값을 가져옵니다. (Stream.CanRead을(를) 재정의함)
Public 속성CanSeek현재 스트림이 검색을 지원하는지 여부를 나타내는 값을 가져옵니다. (Stream.CanSeek을(를) 재정의함)
Public 속성CanTimeout현재 스트림이 시간 초과될 수 있는지 여부를 결정하는 값을 가져옵니다. (Stream에서 상속됨)
Public 속성CanWrite현재 스트림이 쓰기를 지원하는지 여부를 나타내는 값을 가져옵니다. (Stream.CanWrite을(를) 재정의함)
Public 속성Length스트림의 길이(바이트)를 가져옵니다. (Stream.Length을(를) 재정의함)
Public 속성Name생성자에 전달된 파일 스트림의 이름을 가져옵니다.
Public 속성Position이 스트림의 현재 위치를 가져오거나 설정합니다. (Stream.Position을(를) 재정의함)
Public 속성ReadTimeout스트림 읽기 시도가 만료되기 전까지 기다릴 시간을 결정하는 값을 밀리초 단위로 가져오거나 설정합니다. (Stream에서 상속됨)
Public 속성WriteTimeout스트림 쓰기 시도가 만료되기 전까지 기다릴 시간을 결정하는 값을 밀리초 단위로 가져오거나 설정합니다. (Stream에서 상속됨)
맨 위

  이름설명
Public 메서드BeginRead비동기 읽기 작업을 시작합니다. (Stream.BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)을(를) 재정의함)
Public 메서드BeginWrite비동기 쓰기 작업을 시작합니다. (Stream.BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)을(를) 재정의함)
Public 메서드Close현재 스트림을 닫고 현재 스트림과 관련된 소켓과 파일 핸들 등의 리소스를 모두 해제합니다. (Stream에서 상속됨)
Public 메서드CopyTo(Stream)현재 스트림에서 모든 바이트를 읽어 대상 스트림에 씁니다. (Stream에서 상속됨)
Public 메서드CopyTo(Stream, Int32)현재 스트림에서 모든 바이트를 읽어 지정된 버퍼 크기로 대상 스트림에 씁니다. (Stream에서 상속됨)
Public 메서드CopyToAsync(Stream)현재 스트림에서 비동기적으로 바이트를 읽은 후 다른 스트림에 씁니다. (Stream에서 상속됨)
Public 메서드CopyToAsync(Stream, Int32)현재 스트림에서 바이트를 비동기적으로 읽은 다음 지정된 버퍼 크기로 다른 스트림에 씁니다. (Stream에서 상속됨)
Public 메서드CopyToAsync(Stream, Int32, CancellationToken)현재 스트림에서 바이트를 비동기적으로 읽은 다음 지정된 버퍼 크기 및 취소 토큰을 사용하여 다른 스트림에 씁니다. (Stream에서 상속됨)
Public 메서드Dispose()Stream에서 사용하는 모든 리소스를 해제합니다. (Stream에서 상속됨)
Protected 메서드Dispose(Boolean)FileStream에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다. (Stream.Dispose(Boolean)을(를) 재정의함)
Public 메서드EndRead보류 중인 비동기 읽기가 완료되기를 기다립니다. (Stream.EndRead(IAsyncResult)을(를) 재정의함)
Public 메서드EndWrite비동기 쓰기를 종료하고 I/O 작업이 완료될 때까지 차단시킵니다. (Stream.EndWrite(IAsyncResult)을(를) 재정의함)
Public 메서드Equals(Object)지정한 Object가 현재 Object와 같은지 확인합니다. (Object에서 상속됨)
Protected 메서드Finalize가비지 수집기에서 FileStream을 회수할 때 리소스가 해제되고 다른 정리 작업이 수행되도록 합니다. (Object.Finalize()을(를) 재정의함)
Public 메서드Flush()이 스트림에 대한 모든 버퍼를 지우고 버퍼링된 모든 데이터가 파일 시스템에 쓰여지도록 합니다. (Stream.Flush()을(를) 재정의함)
Public 메서드Flush(Boolean)이 스트림에 대한 버퍼를 지우고 버퍼링된 모든 데이터가 파일에 쓰여지도록 하며 모든 중간 파일 버퍼도 지웁니다.
Public 메서드FlushAsync()이 스트림에 대한 모든 버퍼를 비동기적으로 지우고 버퍼링된 모든 데이터가 내부 장치에 쓰여지도록 합니다. (Stream에서 상속됨)
Public 메서드FlushAsync(CancellationToken)이 스트림에 대한 모든 버퍼를 비동기적으로 지우고 버퍼링된 모든 데이터가 내부 장치에 쓰여지도록 하고, 취소 요청을 모니터링합니다. (Stream에서 상속됨)
Public 메서드GetHashCode특정 형식에 대한 해시 함수 역할을 합니다. (Object에서 상속됨)
Public 메서드GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Protected 메서드MemberwiseClone현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Public 메서드Read스트림에서 바이트 블록을 읽어서 해당 데이터를 제공된 버퍼에 씁니다. (Stream.Read(Byte[], Int32, Int32)을(를) 재정의함)
Public 메서드ReadAsync(Byte[], Int32, Int32)현재 스트림에서 바이트 시퀀스를 비동기적으로 읽고 읽은 바이트 수만큼 스트림에서 위치를 앞으로 이동합니다. (Stream에서 상속됨)
Public 메서드ReadAsync(Byte[], Int32, Int32, CancellationToken)현재 스트림에서 바이트 시퀀스를 비동기적으로 읽고, 읽은 바이트 수만큼 스트림에서 위치를 앞으로 이동하고, 취소 요청을 모니터링합니다. (Stream에서 상속됨)
Public 메서드ReadByte파일에서 1바이트를 읽고 읽기 위치를 1바이트만큼 앞으로 이동합니다. (Stream.ReadByte()을(를) 재정의함)
Public 메서드Seek이 스트림의 현재 위치를 제공된 값으로 설정합니다. (Stream.Seek(Int64, SeekOrigin)을(를) 재정의함)
Public 메서드SetLength이 스트림의 길이를 제공된 값으로 설정합니다. (Stream.SetLength(Int64)을(를) 재정의함)
Public 메서드ToString현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨)
Public 메서드Write버퍼의 데이터를 사용하여 이 스트림에 바이트 블록을 씁니다. (Stream.Write(Byte[], Int32, Int32)을(를) 재정의함)
Public 메서드WriteAsync(Byte[], Int32, Int32)현재 스트림에 바이트 시퀀스를 비동기적으로 쓰고 쓴 바이트 수만큼 이 스트림에서 현재 위치를 앞으로 이동합니다. (Stream에서 상속됨)
Public 메서드WriteAsync(Byte[], Int32, Int32, CancellationToken)현재 스트림에 바이트 시퀀스를 비동기적으로 쓰고, 쓴 바이트 수만큼 이 스트림에서 현재 위치를 앞으로 이동하고, 취소 요청을 모니터링합니다. (Stream에서 상속됨)
Public 메서드WriteByte파일 스트림의 현재 위치에 바이트를 씁니다. (Stream.WriteByte(Byte)을(를) 재정의함)
맨 위

  이름설명
Public 확장 메서드AsInputStreamWindows 스토어 앱용 .NET의 관리되는 스트림을 Windows 런타임의 입력 스트림으로 변환합니다. (WindowsRuntimeStreamExtensions에서 정의됨)
Public 확장 메서드AsOutputStreamWindows 스토어 앱용 .NET의 관리되는 스트림을 Windows 런타임의 출력 스트림으로 변환합니다. (WindowsRuntimeStreamExtensions에서 정의됨)
맨 위

버전 메모

Windows Phone

이 형식은 Windows Phone에서 .NET Compact Framework 인프라를 지원하기 위해 제공되며 응용프로그램 코드에서 사용되지는 않습니다.

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

이 예제에서는 FileStream 클래스를 사용하여 비트맵 이미지를 만들고, Image 컨트롤(즉, MyImage)의 소스로 설정합니다. 이 샘플 코드를 컴파일하고 실행하는 방법을 보려면 Windows Phone용 정적 TextBlock 컨트롤이 있는 예제 빌드를 참조하세요.


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) 멤버는 스레드로부터 안전합니다. 모든 인스턴스 멤버는 스레드로부터 안전하지 않을 수 있습니다.

표시:
© 2014 Microsoft