FileStream 클래스

정의

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

public ref class FileStream : System::IO::Stream
public class FileStream : System.IO.Stream
[System.Runtime.InteropServices.ComVisible(true)]
public class FileStream : System.IO.Stream
type FileStream = class
    inherit Stream
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileStream = class
    inherit Stream
Public Class FileStream
Inherits Stream
상속
FileStream
상속
파생
특성

예제

다음 예제에서는 일부 FileStream 생성자를 보여 줍니다.

using namespace System;
using namespace System::IO;
using namespace System::Text;

void AddText( FileStream^ fs, String^ value )
{
   array<Byte>^info = (gcnew UTF8Encoding( true ))->GetBytes( value );
   fs->Write( info, 0, info->Length );
}

int main()
{
   String^ path = "c:\\temp\\MyTest.txt";
   
   // Delete the file if it exists.
   if ( File::Exists( path ) )
   {
      File::Delete( path );
   }

   //Create the file.
   {
      FileStream^ fs = File::Create( path );
      try
      {
         AddText( fs, "This is some text" );
         AddText( fs, "This is some more text," );
         AddText( fs, "\r\nand this is on a new line" );
         AddText( fs, "\r\n\r\nThe following is a subset of characters:\r\n" );
         for ( int i = 1; i < 120; i++ )
         {
            AddText( fs, Convert::ToChar( i ).ToString() );
            
            //Split the output at every 10th character.
            if ( Math::IEEERemainder( Convert::ToDouble( i ), 10 ) == 0 )
            {
               AddText( fs, "\r\n" );
            }
         }
      }
      finally
      {
         if ( fs )
            delete (IDisposable^)fs;
      }
   }
   
   //Open the stream and read it back.
   {
      FileStream^ fs = File::OpenRead( path );
      try
      {
         array<Byte>^b = gcnew array<Byte>(1024);
         UTF8Encoding^ temp = gcnew UTF8Encoding( true );
         while ( fs->Read( b, 0, b->Length ) > 0 )
         {
            Console::WriteLine( temp->GetString( b ) );
         }
      }
      finally
      {
         if ( fs )
            delete (IDisposable^)fs;
      }
   }
}
using System;
using System.IO;
using System.Text;

class Test
{

    public static void Main()
    {
        string path = @"c:\temp\MyTest.txt";

        // Delete the file if it exists.
        if (File.Exists(path))
        {
            File.Delete(path);
        }

        //Create the file.
        using (FileStream fs = File.Create(path))
        {
            AddText(fs, "This is some text");
            AddText(fs, "This is some more text,");
            AddText(fs, "\r\nand this is on a new line");
            AddText(fs, "\r\n\r\nThe following is a subset of characters:\r\n");

            for (int i=1;i < 120;i++)
            {
                AddText(fs, Convert.ToChar(i).ToString());
            }
        }

        //Open the stream and read it back.
        using (FileStream fs = File.OpenRead(path))
        {
            byte[] b = new byte[1024];
            UTF8Encoding temp = new UTF8Encoding(true);
            while (fs.Read(b,0,b.Length) > 0)
            {
                Console.WriteLine(temp.GetString(b));
            }
        }
    }

    private static void AddText(FileStream fs, string value)
    {
        byte[] info = new UTF8Encoding(true).GetBytes(value);
        fs.Write(info, 0, info.Length);
    }
}
Imports System.IO
Imports System.Text

Public Class Test

    Public Shared Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"

        ' Delete the file if it exists.
        If File.Exists(path) Then
            File.Delete(path)
        End If

        'Create the file.
        Dim fs As FileStream = File.Create(path)

        AddText(fs, "This is some text")
        AddText(fs, "This is some more text,")
        AddText(fs, Environment.NewLine & "and this is on a new line")
        AddText(fs, Environment.NewLine & Environment.NewLine)
        AddText(fs, "The following is a subset of characters:" & Environment.NewLine)

        Dim i As Integer

        For i = 1 To 120
            AddText(fs, Convert.ToChar(i).ToString())

        Next

        fs.Close()

        'Open the stream and read it back.
        fs = File.OpenRead(path)
        Dim b(1023) As Byte
        Dim temp As UTF8Encoding = New UTF8Encoding(True)

        Do While fs.Read(b, 0, b.Length) > 0
            Console.WriteLine(temp.GetString(b))
        Loop

        fs.Close()
    End Sub

    Private Shared Sub AddText(ByVal fs As FileStream, ByVal value As String)
        Dim info As Byte() = New UTF8Encoding(True).GetBytes(value)
        fs.Write(info, 0, info.Length)
    End Sub
End Class

다음 예제에서는 파일에 비동기적으로 쓰는 방법을 보여줍니다. 이 코드는 UserInput이라는 TextBlock과 Button_Click 명명된 Click 이벤트 처리기에 연결된 단추가 있는 WPF 앱에서 실행됩니다. 파일 경로를 컴퓨터에 있는 파일로 변경해야 합니다.

using System;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.IO;

namespace WpfApplication1
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            UnicodeEncoding uniencoding = new UnicodeEncoding();
            string filename = @"c:\Users\exampleuser\Documents\userinputlog.txt";

            byte[] result = uniencoding.GetBytes(UserInput.Text);

            using (FileStream SourceStream = File.Open(filename, FileMode.OpenOrCreate))
            {
                SourceStream.Seek(0, SeekOrigin.End);
                await SourceStream.WriteAsync(result, 0, result.Length);
            }
        }
    }
}
Imports System.IO
Imports System.Text

Class MainWindow
    Private Async Sub Button_Click(sender As Object, e As RoutedEventArgs)
        Dim uniencoding As UnicodeEncoding = New UnicodeEncoding()
        Dim filename As String = "c:\Users\exampleuser\Documents\userinputlog.txt"

        Dim result As Byte() = uniencoding.GetBytes(UserInput.Text)

        Using SourceStream As FileStream = File.Open(filename, FileMode.OpenOrCreate)
            SourceStream.Seek(0, SeekOrigin.End)
            Await SourceStream.WriteAsync(result, 0, result.Length)
        End Using
    End Sub
End Class

설명

클래스를 FileStream 사용하여 파일 시스템에서 파일을 읽고, 쓰고, 열고, 닫고, 파이프, 표준 입력 및 표준 출력을 비롯한 다른 파일 관련 운영 체제 핸들을 조작할 수 있습니다. , WriteFlush CopyTo메서드를 Read사용하여 동기 연산 또는 ReadAsync, WriteAsyncCopyToAsyncFlushAsync 메서드를 사용하여 비동기 작업을 수행할 수 있습니다. 비동기 메서드를 사용하여 주 스레드를 차단하지 않고 리소스를 많이 사용하는 파일 작업을 수행합니다. 이 성능 고려 사항은 시간이 걸리는 스트림 작업이 UI 스레드를 차단하여 앱이 작동하지 않는 것처럼 보일 수 있는 Windows 8.x 스토어 앱 또는 데스크톱 앱에서 특히 중요합니다. FileStream 는 더 나은 성능을 위해 입력 및 출력을 버퍼링합니다.

중요

이 형식이 구현 하는 IDisposable 인터페이스입니다. 형식을 사용 하 여 마쳤으면 직접 또는 간접적으로의 삭제 해야 있습니다. 직접 형식의 dispose 호출 해당 Dispose 의 메서드를 try/catch 블록입니다. 삭제 하지 직접, 언어 구문 같은 사용 using (C#에서) 또는 Using (Visual Basic에서는). 자세한 내용은 "를 사용 하는 개체는 구현 IDisposable" 섹션을 참조 하세요.를 IDisposable 인터페이스 항목입니다.

이 속성은 IsAsync 파일 핸들이 비동기적으로 열렸는지 여부를 검색합니다. 매개 변수가 있는 생성자를 isAsync``useAsync``options 사용하여 클래스의 FileStream 인스턴스를 만들 때 이 값을 지정합니다. 속성이 있으면 스트림은 true겹치는 I/O를 사용하여 파일 작업을 비동기적으로 수행합니다. 그러나 속성은 IsAsync , WriteAsync또는 CopyToAsync 메서드를 호출ReadAsynctrue 필요가 없습니다. IsAsync 속성이 false 있고 비동기 읽기 및 쓰기 작업을 호출하는 경우 UI 스레드는 여전히 차단되지 않지만 실제 I/O 작업은 동기적으로 수행됩니다.

이 메서드는 Seek 파일에 대한 임의 액세스를 지원합니다. Seek 를 사용하면 파일 내의 모든 위치로 읽기/쓰기 위치를 이동할 수 있습니다. 바이트 오프셋 참조 지점 매개 변수를 사용하여 수행됩니다. 바이트 오프셋은 열거형의 세 멤버 SeekOrigin 가 나타내는 대로 기본 파일의 시작, 현재 위치 또는 끝일 수 있는 검색 참조 지점을 기준으로 합니다.

참고

디스크 파일은 항상 임의 액세스를 지원합니다. 생성 CanSeek 시 속성 값은 기본 파일 형식으로 true 설정되거나 false 기본 파일 형식에 따라 설정됩니다. winbase.h CanSeek 에 정의된 대로 기본 파일 형식이 FILE_TYPE_DISK 경우 속성 값은 입니다 true. 그렇지 않으면 속성 값은 CanSeek .입니다 false.

프로세스가 파일의 일부로 종료되거나 미해결 잠금이 있는 파일을 닫으면 동작이 정의되지 않습니다.

디렉터리 작업 및 기타 파일 작업은 , DirectoryPath 클래스를 File참조하세요. 이 File 클래스는 주로 파일 경로를 기반으로 개체를 만들기 FileStream 위한 정적 메서드가 있는 유틸리티 클래스입니다. 클래스는 MemoryStream 바이트 배열에서 스트림을 만들고 클래스와 비슷합니다 FileStream .

일반적인 파일 및 디렉터리 작업 목록은 일반적인 I/O 작업을 참조하세요.

스트림 위치 변경 내용 검색

개체의 FileStream 핸들에 배타적 보류가 없으면 다른 스레드가 동시에 파일 핸들에 액세스하고 파일 핸들과 연결된 운영 체제의 파일 포인터 위치를 변경할 수 있습니다. 이 경우 개체의 캐시된 위치 FileStream 와 버퍼의 캐시된 데이터가 손상될 수 있습니다. 개체는 FileStream 캐시된 버퍼에 액세스하는 메서드에 대한 검사를 정기적으로 수행하여 운영 체제의 핸들 위치가 개체에서 사용하는 FileStream 캐시된 위치와 동일한지 확인합니다.

메서드 호출 Read 에서 핸들 위치의 예기치 않은 변경이 감지되면 .NET Framework 버퍼의 내용을 삭제하고 파일에서 스트림을 다시 읽습니다. 파일의 크기 및 파일 스트림의 위치에 영향을 줄 수 있는 다른 프로세스에 따라 성능에 영향을 줄 수 있습니다.

메서드 호출 Write 에서 핸들 위치의 예기치 않은 변경이 감지되면 버퍼의 내용이 삭제되고 예외가 IOException throw됩니다.

FileStream 개체는 핸들을 노출하기 위해 속성에 액세스하거나 FileStream 개체가 해당 생성자에 속성을 부여 SafeFileHandle 할 때 SafeFileHandle 핸들에 배타적 보류를 갖지 않습니다.

생성자

FileStream(IntPtr, FileAccess)
사용되지 않습니다.
사용되지 않습니다.
사용되지 않습니다.
사용되지 않습니다.

지정된 읽기/쓰기 권한을 사용하여 지정된 파일 핸들에 대한 FileStream 클래스의 새 인스턴스를 초기화합니다.

FileStream(IntPtr, FileAccess, Boolean)
사용되지 않습니다.
사용되지 않습니다.
사용되지 않습니다.
사용되지 않습니다.

지정된 읽기/쓰기 권한 및 FileStream 인스턴스 소유권을 사용하여 지정된 파일 핸들에 대해 FileStream 클래스의 새 인스턴스를 초기화합니다.

FileStream(IntPtr, FileAccess, Boolean, Int32)
사용되지 않습니다.
사용되지 않습니다.
사용되지 않습니다.
사용되지 않습니다.

지정된 읽기/쓰기 권한, FileStream 인스턴스 소유권 및 버퍼 크기를 사용하여 지정된 파일 핸들에 대해 FileStream 클래스의 새 인스턴스를 초기화합니다.

FileStream(IntPtr, FileAccess, Boolean, Int32, Boolean)
사용되지 않습니다.
사용되지 않습니다.
사용되지 않습니다.
사용되지 않습니다.

지정된 읽기/쓰기 권한, FileStream 인스턴스 소유권, 버퍼 크기 및 동기/비동기 상태를 사용하여 지정된 파일 핸들에 대해 FileStream 클래스의 새 인스턴스를 초기화합니다.

FileStream(SafeFileHandle, FileAccess)

지정된 읽기/쓰기 권한을 사용하여 지정된 파일 핸들에 대한 FileStream 클래스의 새 인스턴스를 초기화합니다.

FileStream(SafeFileHandle, FileAccess, Int32)

지정된 읽기/쓰기 권한 및 버퍼 크기를 사용하여 지정된 파일 핸들에 대해 FileStream 클래스의 새 인스턴스를 초기화합니다.

FileStream(SafeFileHandle, FileAccess, Int32, Boolean)

지정된 읽기/쓰기 권한, 버퍼 크기 및 동기/비동기 상태를 사용하여 지정된 파일 핸들에 대해 FileStream 클래스의 새 인스턴스를 초기화합니다.

FileStream(String, FileMode)

지정된 경로 및 생성 모드들 사용하여 FileStream 클래스의 새 인스턴스를 초기화합니다.

FileStream(String, FileMode, FileAccess)

지정된 경로, 생성 모드 및 읽기/쓰기 권한을 사용하여 FileStream 클래스의 새 인스턴스를 초기화합니다.

FileStream(String, FileMode, FileAccess, FileShare)

지정된 경로, 생성 모드, 읽기/쓰기 권한 및 공유 권한을 사용하여 FileStream 클래스의 새 인스턴스를 초기화합니다.

FileStream(String, FileMode, FileAccess, FileShare, Int32)

지정된 경로, 생성 모드, 읽기/쓰기 및 공유 권한, 버퍼 크기를 사용하여 FileStream 클래스의 새 인스턴스를 초기화합니다.

FileStream(String, FileMode, FileAccess, FileShare, Int32, Boolean)

지정된 경로, 생성 모드, 읽기/쓰기 및 공유 권한, 버퍼 크기 및 동기/비동기 상태를 사용하여 FileStream 클래스의 새 인스턴스를 초기화합니다.

FileStream(String, FileMode, FileAccess, FileShare, Int32, FileOptions)

지정된 경로, 생성 모드, 읽기/쓰기 및 공유 권한, 같은 파일에 대한 다른 FileStream의 액세스 권한, 버퍼 크기 및 추가 파일 옵션을 사용하여 FileStream 클래스의 새 인스턴스를 초기화합니다.

FileStream(String, FileMode, FileSystemRights, FileShare, Int32, FileOptions)

지정된 경로, 생성 모드, 액세스 및 공유 권한, 버퍼 크기 및 추가 파일 옵션을 사용하여 FileStream 클래스의 새 인스턴스를 초기화합니다.

FileStream(String, FileMode, FileSystemRights, FileShare, Int32, FileOptions, FileSecurity)

지정된 경로, 생성 모드, 액세스 및 공유 권한, 버퍼 크기, 추가 파일 옵션, 액세스 제어 및 감사 보안을 사용하여 FileStream 클래스의 새 인스턴스를 초기화합니다.

FileStream(String, FileStreamOptions)

지정된 경로, 생성 모드, 읽기/쓰기 및 공유 권한, 버퍼 크기, 추가 파일 옵션, 사전 할당 크기 및 다른 FileStreams가 동일한 파일에 대해 가질 수 있는 액세스 권한을 사용하여 클래스의 새 인스턴스 FileStream 를 초기화합니다.

속성

CanRead

현재 스트림이 읽기를 지원하는지 여부를 나타내는 값을 가져옵니다.

CanSeek

현재 스트림이 검색을 지원하는지 여부를 나타내는 값을 가져옵니다.

CanTimeout

현재 스트림이 시간 초과될 수 있는지를 결정하는 값을 가져옵니다.

(다음에서 상속됨 Stream)
CanWrite

현재 스트림이 쓰기를 지원하는지 여부를 나타내는 값을 가져옵니다.

Handle
사용되지 않습니다.
사용되지 않습니다.
사용되지 않습니다.
사용되지 않습니다.

현재 FileStream 개체가 캡슐화할 파일에 대한 운영 체제 파일 핸들을 가져옵니다.

IsAsync

FileStream이 비동기적으로 열렸는지 또는 동기적으로 열렸는지 여부를 나타내는 값을 가져옵니다.

Length

스트림의 길이(바이트)를 가져옵니다.

Name

FileStream에서 열린 파일의 절대 경로를 가져옵니다.

Position

이 스트림의 현재 위치를 가져오거나 설정합니다.

ReadTimeout

스트림 읽기 시도가 만료되기 전까지 기다릴 시간을 결정하는 값(밀리초)을 가져오거나 설정합니다.

(다음에서 상속됨 Stream)
SafeFileHandle

현재 FileStream 개체가 캡슐화하는 파일에 대한 운영 체제 파일 핸들을 나타내는 SafeFileHandle 개체를 가져옵니다.

WriteTimeout

스트림 쓰기 시도가 만료되기 전까지 기다릴 시간을 결정하는 값(밀리초)을 가져오거나 설정합니다.

(다음에서 상속됨 Stream)

메서드

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

비동기 읽기 작업을 시작합니다. 대신 ReadAsync(Byte[], Int32, Int32, CancellationToken)을 사용하는 것이 좋습니다.

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

비동기 읽기 작업을 시작합니다. 대신 ReadAsync(Byte[], Int32, Int32)를 사용하세요.

(다음에서 상속됨 Stream)
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

비동기 쓰기 작업을 시작합니다. 대신 WriteAsync(Byte[], Int32, Int32, CancellationToken)을 사용하는 것이 좋습니다.

BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

비동기 쓰기 작업을 시작합니다. 대신 WriteAsync(Byte[], Int32, Int32)를 사용하세요.

(다음에서 상속됨 Stream)
Close()

현재 스트림을 닫고 현재 스트림과 관련된 소켓과 파일 핸들 등의 리소스를 모두 해제합니다.

Close()

현재 스트림을 닫고 현재 스트림과 관련된 소켓과 파일 핸들 등의 리소스를 모두 해제합니다. 이 메서드를 호출하는 대신 스트림이 올바르게 삭제되었는지 확인합니다.

(다음에서 상속됨 Stream)
CopyTo(Stream)

현재 스트림에서 바이트를 읽어서 다른 스트림에 해당 바이트를 씁니다. 두 스트림 위치는 복사된 바이트 수만큼 고급입니다.

(다음에서 상속됨 Stream)
CopyTo(Stream, Int32)

현재 스트림에서 바이트를 읽어서 지정된 버퍼 크기로 다른 스트림에 씁니다. 두 스트림 위치는 복사된 바이트 수만큼 고급입니다.

(다음에서 상속됨 Stream)
CopyToAsync(Stream)

현재 스트림에서 모든 바이트를 비동기적으로 읽어 다른 스트림에 씁니다. 두 스트림 위치는 복사된 바이트 수만큼 고급입니다.

(다음에서 상속됨 Stream)
CopyToAsync(Stream, CancellationToken)

현재 스트림에서 바이트를 비동기적으로 읽어 지정된 취소 토큰을 사용하여 다른 스트림에 씁니다. 두 스트림 위치는 복사된 바이트 수만큼 고급입니다.

(다음에서 상속됨 Stream)
CopyToAsync(Stream, Int32)

현재 스트림에서 바이트를 비동기적으로 읽어 지정된 버퍼 크기로 다른 스트림에 씁니다. 두 스트림 위치는 복사된 바이트 수만큼 고급입니다.

(다음에서 상속됨 Stream)
CopyToAsync(Stream, Int32, CancellationToken)

현재 파일 스트림에서 바이트를 비동기적으로 읽어 지정된 버퍼 크기 및 취소 토큰을 사용하여 다른 스트림에 씁니다.

CopyToAsync(Stream, Int32, CancellationToken)

현재 스트림에서 바이트를 비동기적으로 읽어 지정된 버퍼 크기 및 취소 토큰을 사용하여 다른 스트림에 씁니다. 두 스트림 위치는 복사된 바이트 수만큼 고급입니다.

(다음에서 상속됨 Stream)
CreateObjRef(Type)

원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다.

(다음에서 상속됨 MarshalByRefObject)
CreateWaitHandle()
사용되지 않습니다.
사용되지 않습니다.
사용되지 않습니다.

WaitHandle 개체를 할당합니다.

(다음에서 상속됨 Stream)
Dispose()

Stream에서 사용하는 모든 리소스를 해제합니다.

(다음에서 상속됨 Stream)
Dispose(Boolean)

FileStream에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다.

DisposeAsync()

FileStream에서 사용하는 관리되지 않는 리소스를 비동기적으로 해제합니다.

DisposeAsync()

Stream에서 사용하는 관리되지 않는 리소스를 비동기적으로 해제합니다.

(다음에서 상속됨 Stream)
EndRead(IAsyncResult)

보류 중인 비동기 읽기 작업이 완료되기를 기다립니다. 대신 ReadAsync(Byte[], Int32, Int32, CancellationToken)를 사용하세요.

EndRead(IAsyncResult)

보류 중인 비동기 읽기가 완료되기를 기다립니다. 대신 ReadAsync(Byte[], Int32, Int32)를 사용하세요.

(다음에서 상속됨 Stream)
EndWrite(IAsyncResult)

비동기 쓰기 작업을 종료하고 I/O 작업이 완료될 때까지 차단시킵니다. 대신 WriteAsync(Byte[], Int32, Int32, CancellationToken)를 사용하세요.

EndWrite(IAsyncResult)

비동기 쓰기 작업을 끝냅니다. 대신 WriteAsync(Byte[], Int32, Int32)를 사용하세요.

(다음에서 상속됨 Stream)
Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

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

가비지 수집기에서 FileStream을 회수할 때 리소스가 해제되고 다른 정리 작업이 수행되도록 합니다.

Flush()

이 스트림의 버퍼를 지우고 버퍼링된 모든 데이터가 파일에 쓰여지도록 합니다.

Flush(Boolean)

이 스트림에 대한 버퍼를 지우고 버퍼링된 모든 데이터가 파일에 쓰여지도록 하며 모든 중간 파일 버퍼도 지웁니다.

FlushAsync()

이 스트림에 대한 모든 버퍼를 비동기적으로 지우고 버퍼링된 모든 데이터가 내부 디바이스에 비동기적으로 쓰여지도록 합니다.

(다음에서 상속됨 Stream)
FlushAsync(CancellationToken)

이 스트림에 대해 모든 버퍼를 비동기적으로 지우고 버퍼링된 데이터가 내부 디바이스에 쓰여지도록 하고 취소 요청을 모니터링합니다.

FlushAsync(CancellationToken)

이 스트림에 대해 모든 버퍼를 비동기적으로 지우고 버퍼링된 데이터가 내부 디바이스에 쓰여지도록 하고 취소 요청을 모니터링합니다.

(다음에서 상속됨 Stream)
GetAccessControl()

현재 FileSecurity 개체에서 설명하는 파일의 ACL(액세스 제어 목록) 항목을 캡슐화하는 FileStream 개체를 가져옵니다.

GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetLifetimeService()
사용되지 않습니다.

이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다.

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

현재 인스턴스의 Type을 가져옵니다.

(다음에서 상속됨 Object)
InitializeLifetimeService()
사용되지 않습니다.

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.

(다음에서 상속됨 MarshalByRefObject)
Lock(Int64, Int64)

다른 프로세스가 FileStream을 읽거나 쓰지 못하게 합니다.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

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

현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다.

(다음에서 상속됨 MarshalByRefObject)
ObjectInvariant()
사용되지 않습니다.

Contract에 대한 지원을 제공합니다.

(다음에서 상속됨 Stream)
Read(Byte[], Int32, Int32)

스트림에서 바이트 블록을 읽어서 해당 데이터를 제공된 버퍼에 씁니다.

Read(Span<Byte>)

현재 파일 스트림에서 바이트 시퀀스를 읽고 읽은 바이트 수만큼 파일 스트림에서 위치를 앞으로 이동합니다.

Read(Span<Byte>)

파생 클래스에서 재정의되면 현재 스트림에서 바이트의 시퀀스를 읽고, 읽은 바이트 수만큼 스트림 내에서 앞으로 이동합니다.

(다음에서 상속됨 Stream)
ReadAsync(Byte[], Int32, Int32)

현재 스트림에서 바이트 시퀀스를 읽고 읽은 바이트 수만큼 스트림에서 위치를 비동기적으로 앞으로 이동합니다.

(다음에서 상속됨 Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

현재 파일 스트림에서 바이트의 시퀀스를 비동기식으로 읽고, 이를 지정된 오프셋부터 시작하여 바이트 배열에 쓰며, 읽은 바이트 수만큼 파일 스트림 내에서 앞으로 이동하며, 취소 요청을 모니터링합니다.

ReadAsync(Byte[], Int32, Int32, CancellationToken)

현재 스트림에서 바이트의 시퀀스를 비동기적으로 읽고 읽은 바이트 수만큼 스트림 내에서 앞으로 이동하며 취소 요청을 모니터링합니다.

(다음에서 상속됨 Stream)
ReadAsync(Memory<Byte>, CancellationToken)

현재 파일 스트림에서 바이트의 시퀀스를 비동기식으로 읽고, 이를 메모리 범위에 쓰고, 읽은 바이트 수만큼 파일 스트림 내에서 앞으로 이동하며, 취소 요청을 모니터링합니다.

ReadAsync(Memory<Byte>, CancellationToken)

현재 스트림에서 바이트의 시퀀스를 비동기적으로 읽고 읽은 바이트 수만큼 스트림 내에서 앞으로 이동하며 취소 요청을 모니터링합니다.

(다음에서 상속됨 Stream)
ReadAtLeast(Span<Byte>, Int32, Boolean)

현재 스트림에서 최소 바이트 수를 읽고 읽은 바이트 수만큼 스트림 내의 위치를 이동합니다.

(다음에서 상속됨 Stream)
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken)

현재 스트림에서 최소 바이트 수를 비동기적으로 읽고, 읽은 바이트 수만큼 스트림 내의 위치를 이동하고, 취소 요청을 모니터링합니다.

(다음에서 상속됨 Stream)
ReadByte()

파일에서 1바이트를 읽고 읽기 위치를 1바이트만큼 앞으로 이동합니다.

ReadExactly(Byte[], Int32, Int32)

count 현재 스트림에서 바이트 수를 읽고 스트림 내의 위치를 이동합니다.

(다음에서 상속됨 Stream)
ReadExactly(Span<Byte>)

현재 스트림에서 바이트를 읽고 스트림이 채워질 때까지 스트림 내의 buffer 위치를 이동합니다.

(다음에서 상속됨 Stream)
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken)

현재 스트림에서 바이트 수를 비동기적으로 읽고 count , 스트림 내의 위치를 발전시키고, 취소 요청을 모니터링합니다.

(다음에서 상속됨 Stream)
ReadExactlyAsync(Memory<Byte>, CancellationToken)

현재 스트림에서 바이트를 비동기적으로 읽고, 스트림이 채워질 때까지 buffer 스트림 내의 위치를 이동하고, 취소 요청을 모니터링합니다.

(다음에서 상속됨 Stream)
Seek(Int64, SeekOrigin)

이 스트림의 현재 위치를 제공된 값으로 설정합니다.

SetAccessControl(FileSecurity)

FileSecurity 개체에서 설명하는 ACL(액세스 제어 목록) 항목을 현재 FileStream 개체에서 설명하는 파일에 적용합니다.

SetLength(Int64)

이 스트림의 길이를 제공된 값으로 설정합니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)
Unlock(Int64, Int64)

다른 프로세스에서 이전에 잠근 파일의 일부 또는 전부에 액세스할 수 있도록 합니다.

Write(Byte[], Int32, Int32)

바이트 블록을 파일 스트림에 씁니다.

Write(ReadOnlySpan<Byte>)

읽기 전용 범위에서 현재 파일 스트림으로 바이트 시퀀스를 쓰고 쓴 바이트 수만큼 이 파일 스트림에서 현재 위치를 앞으로 이동합니다.

Write(ReadOnlySpan<Byte>)

파생 클래스를 재정의될 때 현재 스트림에 바이트의 시퀀스를 쓰고 쓰여진 바이트 수만큼 이 스트림 내에서 앞으로 이동합니다.

(다음에서 상속됨 Stream)
WriteAsync(Byte[], Int32, Int32)

현재 스트림에 바이트 시퀀스를 비동기적으로 쓰고 쓴 바이트 수만큼 이 스트림에서 현재 위치를 앞으로 이동합니다.

(다음에서 상속됨 Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

바이트의 시퀀스를 현재 스트림에 비동기적으로 쓰고 쓰여진 바이트 수만큼 이 스트림 내의 현재 위치를 앞으로 이동한 후 취소 요청을 모니터링합니다.

WriteAsync(Byte[], Int32, Int32, CancellationToken)

바이트의 시퀀스를 현재 스트림에 비동기적으로 쓰고 쓰여진 바이트 수만큼 이 스트림 내의 현재 위치를 앞으로 이동한 후 취소 요청을 모니터링합니다.

(다음에서 상속됨 Stream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

메모리 영역에서 바이트의 시퀀스를 현재 버퍼링된 스트림에 비동기적으로 쓰고, 쓴 바이트 수만큼 이 파일 스트림 내의 현재 위치를 앞으로 이동한 후, 취소 요청을 모니터링합니다.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

바이트의 시퀀스를 현재 스트림에 비동기적으로 쓰고 쓰여진 바이트 수만큼 이 스트림 내의 현재 위치를 앞으로 이동한 후 취소 요청을 모니터링합니다.

(다음에서 상속됨 Stream)
WriteByte(Byte)

파일 스트림의 현재 위치에 바이트를 씁니다.

명시적 인터페이스 구현

IDisposable.Dispose()

Stream에서 사용하는 모든 리소스를 해제합니다.

(다음에서 상속됨 Stream)

확장 메서드

GetAccessControl(FileStream)

파일의 보안 정보를 반환합니다.

SetAccessControl(FileStream, FileSecurity)

기존 파일의 보안 특성을 변경합니다.

AsInputStream(Stream)

Windows 스토어 앱용 .NET의 관리형 스트림을 Windows 런타임의 입력 스트림으로 변환합니다.

AsOutputStream(Stream)

Windows 스토어 앱용 .NET의 관리형 스트림을 Windows 런타임의 출력 스트림으로 변환합니다.

AsRandomAccessStream(Stream)

지정된 스트림을 임의 액세스 스트림으로 변환합니다.

ConfigureAwait(IAsyncDisposable, Boolean)

비동기 일회용에서 반환되는 작업을 대기하는 방법을 구성합니다.

적용 대상

추가 정보