FileStream FileStream FileStream FileStream Class

정의

파일에 대해 Stream을 제공하여 동기 및 비동기 읽기/쓰기 작업을 모두 지원합니다.Provides a Stream for a file, supporting both synchronous and asynchronous read and write operations.

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

예제

다음 예제에서는 몇 가지를 보여 줍니다는 FileStream 생성자입니다.The following example demonstrates some of the FileStream constructors.

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
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(1024) 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

다음 예제에서는 파일에 비동기적으로 작성 하는 방법을 보여 줍니다.The following example shows how to write to a file asynchronously. 이 코드는 /userinput&gt 및 Button_Click 이라고 하는 Click 이벤트 처리기를 연결 하는 단추 라는 TextBlock에는 WPF 앱에서 실행 됩니다.This code runs in a WPF app that has a TextBlock named UserInput and a button hooked up to a Click event handler that is named Button_Click. 파일 경로 컴퓨터에 존재 하는 파일을 변경 해야 합니다.The file path needs to be changed to a file that exists on the computer.

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 클래스의 읽기, 쓰기, 파일 시스템에는 파일, 열기 및 닫기에 파이프, 표준 입력 및 표준 출력을 포함 하 여 다른 파일 관련 운영 체제 핸들 조작 합니다.Use the FileStream class to read from, write to, open, and close files on a file system, and to manipulate other file-related operating system handles, including pipes, standard input, and standard output. 사용할 수는 Read, Write, CopyTo, 및 Flush 동기 작업을 수행 하는 방법 또는 ReadAsyncWriteAsyncCopyToAsync, 및 FlushAsync 비동기 수행 하는 메서드 작업입니다.You can use the Read, Write, CopyTo, and Flush methods to perform synchronous operations, or the ReadAsync, WriteAsync, CopyToAsync, and FlushAsync methods to perform asynchronous operations. 비동기 메서드를 사용 하 여 주 스레드를 차단 하지 않고 리소스 집중형 파일 작업을 수행 합니다.Use the asynchronous methods to perform resource-intensive file operations without blocking the main thread. 이 성능 고려 사항은 특히 시간이 소비되는 스트림 작업이 UI 스레드를 차단하고 응용 프로그램이 작동하지 않는 것처럼 표시할 수 있는 Windows 8.x 스토어Windows 8.x Store 응용 프로그램 또는 데스크톱desktop 응용 프로그램에서 중요합니다.This performance consideration is particularly important in a Windows 8.x 스토어Windows 8.x Store app or 데스크톱desktop app where a time-consuming stream operation can block the UI thread and make your app appear as if it is not working. FileStream 입력 버퍼와 성능 향상을 위해 출력 합니다.FileStream buffers input and output for better performance.

중요

이 형식이 구현 하는 IDisposable 인터페이스입니다.This type implements the IDisposable interface. 형식을 사용 하 여 마쳤으면 직접 또는 간접적으로의 삭제 해야 있습니다.When you have finished using the type, you should dispose of it either directly or indirectly. 직접 형식의 dispose 호출 해당 Dispose 의 메서드를 try / catch 블록입니다.To dispose of the type directly, call its Dispose method in a try/catch block. 삭제 하지 직접, 언어 구문 같은 사용 using (C#에서) 또는 Using (Visual Basic에서는).To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). 자세한 내용은 "를 사용 하는 개체는 구현 IDisposable" 섹션을 참조 하세요.를 IDisposable 인터페이스 항목입니다.For more information, see the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

IsAsync 속성 파일 핸들을 비동기식으로 열렸을 여부를 검색 합니다.The IsAsync property detects whether the file handle was opened asynchronously. 인스턴스를 만들 때이 값을 지정 하는 FileStream 클래스에 생성자를 사용 하는 isAsyncuseAsync, 또는 options 매개 변수입니다.You specify this value when you create an instance of the FileStream class using a constructor that has an isAsync, useAsync, or options parameter. 속성이 true를 스트림에 비동기적으로 파일 작업을 수행 하려면의 겹쳐진된 I/O를 활용 합니다.When the property is true, the stream utilizes overlapped I/O to perform file operations asynchronously. 그러나를 IsAsync 속성에 수 없습니다 true 를 호출 하는 ReadAsyncWriteAsync, 또는 CopyToAsync 메서드.However, the IsAsync property does not have to be true to call the ReadAsync, WriteAsync, or CopyToAsync method. 경우는 IsAsync 속성은 false 및 비동기 읽기를 호출 하 고 쓰기 작업, 여전히 UI 스레드가 차단 되지 않지만 실제 I/O 작업이 동기적으로 수행 됩니다.When the IsAsync property is false and you call the asynchronous read and write operations, the UI thread is still not blocked, but the actual I/O operation is performed synchronously.

Seek 메서드는 임의 파일 액세스를 지원 합니다.The Seek method supports random access to files. Seek 읽기/쓰기 위치를를 파일 내에서 임의 위치로 이동할 수 있습니다.Seek allows the read/write position to be moved to any position within the file. 바이트 오프셋된 참조 매개 변수를 사용 하 여 수행 됩니다.This is done with byte offset reference point parameters. 세 멤버에 의해 표시 된 대로 시작, 현재 위치 또는 기본 파일의 끝 일 수 있는 검색 참조 지점에 상대적인 바이트 오프셋은는 SeekOrigin 열거형입니다.The byte offset is relative to the seek reference point, which can be the beginning, the current position, or the end of the underlying file, as represented by the three members of the SeekOrigin enumeration.

참고

디스크 파일은 항상 임의 액세스를 지원 합니다.Disk files always support random access. 생성 시 합니다 CanSeek 속성 값으로 설정 됩니다 true 또는 false 내부 파일 형식에 따라 합니다. 기본 파일 형식이 면 FILE_TYPE_DISK, winbase.h에에 정의 된 대로 합니다 CanSeek 속성 값이 true합니다.At the time of construction, the CanSeek property value is set to true or false depending on the underlying file type.If the underlying file type is FILE_TYPE_DISK, as defined in winbase.h, the CanSeek property value is true. 그렇지 않으면 합니다 CanSeek 속성 값이 false합니다.Otherwise, the CanSeek property value is false.

프로세스를 잠근 파일의 일부를 사용 하 여 종료 되거나 처리 되지 않은 잠금에 있는 파일을 닫습니다, 경우 동작이 정의 되지 않습니다.If a process terminates with part of a file locked or closes a file that has outstanding locks, the behavior is undefined.

디렉터리 작업 및 다른 파일 작업에 대 한 참조를 File, Directory, 및 Path 클래스입니다.For directory operations and other file operations, see the File, Directory, and Path classes. 합니다 File 클래스의 생성을 위해 정적 메서드를 사용 하는 유틸리티 클래스는 FileStream 파일 경로 기반으로 한 개체입니다.The File class is a utility class that has static methods primarily for the creation of FileStream objects based on file paths. MemoryStream 클래스는 바이트 배열에서 스트림을 만듭니다와 유사 합니다 FileStream 클래스입니다.The MemoryStream class creates a stream from a byte array and is similar to the FileStream class.

일반적인 파일 및 디렉터리 작업의 목록을 참조 하세요 공통적인 I/O 작업합니다.For a list of common file and directory operations, see Common I/O Tasks.

Stream 위치 변경 내용 검색Detection of Stream Position Changes

경우는 FileStream 개체 핸들에는 배타적 보류 없는, 다른 스레드가 파일 핸들을 동시에 액세스 및 파일 핸들을 사용 하 여 연결 된 운영 체제의 파일 포인터의 위치를 변경할 수 없습니다.When a FileStream object does not have an exclusive hold on its handle, another thread could access the file handle concurrently and change the position of the operating system's file pointer that is associated with the file handle. 이 경우 캐시 위치는 FileStream 개체 및 버퍼에 캐시 된 데이터가 손상 될 수 있습니다.In this case, the cached position in the FileStream object and the cached data in the buffer could be compromised. 합니다 FileStream 되도록 운영 체제의 핸들 위치에서 사용 하는 캐시 된 위치와 동일한 캐시 된 버퍼에 액세스 하는 방법에 대 한 검사를 정기적으로 수행 하는 개체는 FileStream 개체입니다.The FileStream object routinely performs checks on methods that access the cached buffer to ensure that the operating system's handle position is the same as the cached position used by the FileStream object.

핸들 위치 예기치 않게 변경에 대 한 호출에서 검색 된 경우는 Read 메서드를.NET Framework는 버퍼의 내용을 삭제 및 다시 파일에서 스트림을 읽습니다.If an unexpected change in the handle position is detected in a call to the Read method, the .NET Framework discards the contents of the buffer and reads the stream from the file again. 이 크기는 파일 및 파일 스트림 위치에 영향을 줄 수 있는 다른 프로세스에 따라 성능에 영향을 줄 수입니다.This can affect performance, depending on the size of the file and any other processes that could affect the position of the file stream.

에 대 한 호출에서 핸들 위치를 예기치 않은 변경이 감지 될 경우는 Write 메서드는 버퍼의 내용이 삭제 됩니다와 IOException 예외가 throw 됩니다.If an unexpected change in the handle position is detected in a call to the Write method, the contents of the buffer are discarded and an IOException exception is thrown.

FileStream 개체는 없습니다 단독으로 보유 해당 핸들을 경우 중 하나는 SafeFileHandle 핸들을 노출 하려면 속성에 액세스 또는 FileStream 개체에 지정 됩니다는 SafeFileHandle 생성자에서 속성.A FileStream object will not have an exclusive hold on its handle when either the SafeFileHandle property is accessed to expose the handle or the FileStream object is given the SafeFileHandle property in its constructor.

생성자

FileStream(IntPtr, FileAccess) FileStream(IntPtr, FileAccess) FileStream(IntPtr, FileAccess) FileStream(IntPtr, FileAccess)

지정된 읽기/쓰기 권한을 사용하여 지정된 파일 핸들에 대한 FileStream 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the FileStream class for the specified file handle, with the specified read/write permission.

FileStream(IntPtr, FileAccess, Boolean) FileStream(IntPtr, FileAccess, Boolean) FileStream(IntPtr, FileAccess, Boolean) FileStream(IntPtr, FileAccess, Boolean)

지정된 읽기/쓰기 권한 및 FileStream 인스턴스 소유권을 사용하여 지정된 파일 핸들에 대해 FileStream 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the FileStream class for the specified file handle, with the specified read/write permission and FileStream instance ownership.

FileStream(IntPtr, FileAccess, Boolean, Int32) FileStream(IntPtr, FileAccess, Boolean, Int32) FileStream(IntPtr, FileAccess, Boolean, Int32) FileStream(IntPtr, FileAccess, Boolean, Int32)

지정된 읽기/쓰기 권한, FileStream 인스턴스 소유권 및 버퍼 크기를 사용하여 지정된 파일 핸들에 대해 FileStream 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the FileStream class for the specified file handle, with the specified read/write permission, FileStream instance ownership, and buffer size.

FileStream(IntPtr, FileAccess, Boolean, Int32, Boolean) FileStream(IntPtr, FileAccess, Boolean, Int32, Boolean) FileStream(IntPtr, FileAccess, Boolean, Int32, Boolean) FileStream(IntPtr, FileAccess, Boolean, Int32, Boolean)

지정된 읽기/쓰기 권한, FileStream 인스턴스 소유권, 버퍼 크기 및 동기/비동기 상태를 사용하여 지정된 파일 핸들에 대해 FileStream 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the FileStream class for the specified file handle, with the specified read/write permission, FileStream instance ownership, buffer size, and synchronous or asynchronous state.

FileStream(SafeFileHandle, FileAccess) FileStream(SafeFileHandle, FileAccess) FileStream(SafeFileHandle, FileAccess) FileStream(SafeFileHandle, FileAccess)

지정된 읽기/쓰기 권한을 사용하여 지정된 파일 핸들에 대한 FileStream 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the FileStream class for the specified file handle, with the specified read/write permission.

FileStream(SafeFileHandle, FileAccess, Int32) FileStream(SafeFileHandle, FileAccess, Int32) FileStream(SafeFileHandle, FileAccess, Int32) FileStream(SafeFileHandle, FileAccess, Int32)

지정된 읽기/쓰기 권한 및 버퍼 크기를 사용하여 지정된 파일 핸들에 대해 FileStream 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the FileStream class for the specified file handle, with the specified read/write permission, and buffer size.

FileStream(SafeFileHandle, FileAccess, Int32, Boolean) FileStream(SafeFileHandle, FileAccess, Int32, Boolean) FileStream(SafeFileHandle, FileAccess, Int32, Boolean) FileStream(SafeFileHandle, FileAccess, Int32, Boolean)

지정된 읽기/쓰기 권한, 버퍼 크기 및 동기/비동기 상태를 사용하여 지정된 파일 핸들에 대해 FileStream 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the FileStream class for the specified file handle, with the specified read/write permission, buffer size, and synchronous or asynchronous state.

FileStream(String, FileMode) FileStream(String, FileMode) FileStream(String, FileMode) FileStream(String, FileMode)

지정된 경로 및 생성 모드들 사용하여 FileStream 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the FileStream class with the specified path and creation mode.

FileStream(String, FileMode, FileAccess) FileStream(String, FileMode, FileAccess) FileStream(String, FileMode, FileAccess) FileStream(String, FileMode, FileAccess)

지정된 경로, 생성 모드 및 읽기/쓰기 권한을 사용하여 FileStream 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the FileStream class with the specified path, creation mode, and read/write permission.

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

지정된 경로, 생성 모드, 읽기/쓰기 권한 및 공유 권한을 사용하여 FileStream 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the FileStream class with the specified path, creation mode, read/write permission, and sharing permission.

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

지정된 경로, 생성 모드, 읽기/쓰기 및 공유 권한, 버퍼 크기를 사용하여 FileStream 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the FileStream class with the specified path, creation mode, read/write and sharing permission, and buffer size.

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

지정된 경로, 생성 모드, 읽기/쓰기 및 공유 권한, 버퍼 크기 및 동기/비동기 상태를 사용하여 FileStream 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the FileStream class with the specified path, creation mode, read/write and sharing permission, buffer size, and synchronous or asynchronous state.

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

지정된 경로, 생성 모드, 읽기/쓰기 및 공유 권한, 같은 파일에 대한 다른 FileStream의 액세스 권한, 버퍼 크기 및 추가 파일 옵션을 사용하여 FileStream 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the FileStream class with the specified path, creation mode, read/write and sharing permission, the access other FileStreams can have to the same file, the buffer size, and additional file options.

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

지정된 경로, 생성 모드, 액세스 및 공유 권한, 버퍼 크기 및 추가 파일 옵션을 사용하여 FileStream 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the FileStream class with the specified path, creation mode, access rights and sharing permission, the buffer size, and additional file options.

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

지정된 경로, 생성 모드, 액세스 및 공유 권한, 버퍼 크기, 추가 파일 옵션, 액세스 제어 및 감사 보안을 사용하여 FileStream 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the FileStream class with the specified path, creation mode, access rights and sharing permission, the buffer size, additional file options, access control and audit security.

속성

CanRead CanRead CanRead CanRead

현재 스트림이 읽기를 지원하는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the current stream supports reading.

CanSeek CanSeek CanSeek CanSeek

현재 스트림이 검색을 지원하는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the current stream supports seeking.

CanTimeout CanTimeout CanTimeout CanTimeout

현재 스트림이 시간 초과될 수 있는지를 결정하는 값을 가져옵니다.Gets a value that determines whether the current stream can time out.

(Inherited from Stream)
CanWrite CanWrite CanWrite CanWrite

현재 스트림이 쓰기를 지원하는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the current stream supports writing.

Handle Handle Handle Handle

현재 FileStream 개체가 캡슐화할 파일에 대한 운영 체제 파일 핸들을 가져옵니다.Gets the operating system file handle for the file that the current FileStream object encapsulates.

IsAsync IsAsync IsAsync IsAsync

FileStream이 비동기적으로 열렸는지 또는 동기적으로 열렸는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the FileStream was opened asynchronously or synchronously.

Length Length Length Length

스트림의 길이(바이트)를 가져옵니다.Gets the length in bytes of the stream.

Name Name Name Name

FileStream에서 열린 파일의 절대 경로를 가져옵니다.Gets the absolute path of the file opened in the FileStream.

Position Position Position Position

이 스트림의 현재 위치를 가져오거나 설정합니다.Gets or sets the current position of this stream.

ReadTimeout ReadTimeout ReadTimeout ReadTimeout

스트림 읽기 시도가 만료되기 전까지 기다릴 시간을 결정하는 값(밀리초)을 가져오거나 설정합니다.Gets or sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.

(Inherited from Stream)
SafeFileHandle SafeFileHandle SafeFileHandle SafeFileHandle

현재 FileStream 개체가 캡슐화하는 파일에 대한 운영 체제 파일 핸들을 나타내는 SafeFileHandle 개체를 가져옵니다.Gets a SafeFileHandle object that represents the operating system file handle for the file that the current FileStream object encapsulates.

WriteTimeout WriteTimeout WriteTimeout WriteTimeout

스트림 쓰기 시도가 만료되기 전까지 기다릴 시간을 결정하는 값(밀리초)을 가져오거나 설정합니다.Gets or sets a value, in milliseconds, that determines how long the stream will attempt to write before timing out.

(Inherited from Stream)

메서드

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

비동기 읽기 작업을 시작합니다.Begins an asynchronous read operation. 대신 ReadAsync(Byte[], Int32, Int32, CancellationToken)을 사용하는 것이 좋습니다.Consider using ReadAsync(Byte[], Int32, Int32, CancellationToken) instead.

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

비동기 쓰기 작업을 시작합니다.Begins an asynchronous write operation. 대신 WriteAsync(Byte[], Int32, Int32, CancellationToken)을 사용하는 것이 좋습니다.Consider using WriteAsync(Byte[], Int32, Int32, CancellationToken) instead.

Close() Close() Close() Close()

이 멤버는 Close()를 재정의합니다. 자세한 내용은 해당 항목을 참조하세요.This member overrides Close(), and more complete documentation might be available in that topic.

현재 스트림을 닫고 현재 스트림과 관련된 소켓과 파일 핸들 등의 리소스를 모두 해제합니다.Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream.

CopyTo(Stream) CopyTo(Stream) CopyTo(Stream) CopyTo(Stream)

현재 스트림에서 바이트를 읽어서 다른 스트림에 해당 바이트를 씁니다.Reads the bytes from the current stream and writes them to another stream.

(Inherited from Stream)
CopyTo(Stream, Int32) CopyTo(Stream, Int32) CopyTo(Stream, Int32) CopyTo(Stream, Int32)

현재 스트림에서 바이트를 읽어서 지정된 버퍼 크기로 다른 스트림에 씁니다.Reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(Inherited from Stream)
CopyToAsync(Stream) CopyToAsync(Stream) CopyToAsync(Stream) CopyToAsync(Stream)

현재 스트림에서 모든 바이트를 비동기적으로 읽어 다른 스트림에 씁니다.Asynchronously reads the bytes from the current stream and writes them to another stream.

(Inherited from Stream)
CopyToAsync(Stream, CancellationToken) CopyToAsync(Stream, CancellationToken) CopyToAsync(Stream, CancellationToken) CopyToAsync(Stream, CancellationToken)

현재 스트림에서 바이트를 비동기적으로 읽어 지정된 취소 토큰을 사용하여 다른 스트림에 씁니다.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified cancellation token.

(Inherited from Stream)
CopyToAsync(Stream, Int32) CopyToAsync(Stream, Int32) CopyToAsync(Stream, Int32) CopyToAsync(Stream, Int32)

현재 스트림에서 바이트를 비동기적으로 읽어 지정된 버퍼 크기로 다른 스트림에 씁니다.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(Inherited from Stream)
CopyToAsync(Stream, Int32, CancellationToken) CopyToAsync(Stream, Int32, CancellationToken) CopyToAsync(Stream, Int32, CancellationToken) CopyToAsync(Stream, Int32, CancellationToken)
CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type)

원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
CreateWaitHandle() CreateWaitHandle() CreateWaitHandle() CreateWaitHandle()

WaitHandle 개체를 할당합니다.Allocates a WaitHandle object.

(Inherited from Stream)
Dispose() Dispose() Dispose() Dispose()

Stream에서 사용하는 모든 리소스를 해제합니다.Releases all resources used by the Stream.

(Inherited from Stream)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

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

DisposeAsync() DisposeAsync() DisposeAsync() DisposeAsync()
EndRead(IAsyncResult) EndRead(IAsyncResult) EndRead(IAsyncResult) EndRead(IAsyncResult)

보류 중인 비동기 읽기 작업이 완료되기를 기다립니다.Waits for the pending asynchronous read operation to complete. 대신 ReadAsync(Byte[], Int32, Int32, CancellationToken)를 사용하세요.(Consider using ReadAsync(Byte[], Int32, Int32, CancellationToken) instead.)

EndWrite(IAsyncResult) EndWrite(IAsyncResult) EndWrite(IAsyncResult) EndWrite(IAsyncResult)

비동기 쓰기 작업을 종료하고 I/O 작업이 완료될 때까지 차단시킵니다.Ends an asynchronous write operation and blocks until the I/O operation is complete. 대신 WriteAsync(Byte[], Int32, Int32, CancellationToken)를 사용하세요.(Consider using WriteAsync(Byte[], Int32, Int32, CancellationToken) instead.)

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
Finalize() Finalize() Finalize() Finalize()

가비지 수집기에서 FileStream을 회수할 때 리소스가 해제되고 다른 정리 작업이 수행되도록 합니다.Ensures that resources are freed and other cleanup operations are performed when the garbage collector reclaims the FileStream.

Flush() Flush() Flush() Flush()

이 스트림의 버퍼를 지우고 버퍼링된 모든 데이터가 파일에 쓰여지도록 합니다.Clears buffers for this stream and causes any buffered data to be written to the file.

Flush(Boolean) Flush(Boolean) Flush(Boolean) Flush(Boolean)

이 스트림에 대한 버퍼를 지우고 버퍼링된 모든 데이터가 파일에 쓰여지도록 하며 모든 중간 파일 버퍼도 지웁니다.Clears buffers for this stream and causes any buffered data to be written to the file, and also clears all intermediate file buffers.

FlushAsync() FlushAsync() FlushAsync() FlushAsync()

이 스트림에 대한 모든 버퍼를 비동기적으로 지우고 버퍼링된 모든 데이터가 내부 디바이스에 비동기적으로 쓰여지도록 합니다.Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device.

(Inherited from Stream)
FlushAsync(CancellationToken) FlushAsync(CancellationToken) FlushAsync(CancellationToken) FlushAsync(CancellationToken)

이 스트림에 대해 모든 버퍼를 비동기적으로 지우고 버퍼링된 데이터가 내부 디바이스에 쓰여지도록 하고 취소 요청을 모니터링합니다.Asynchronously clears all buffers for this stream, causes any buffered data to be written to the underlying device, and monitors cancellation requests.

GetAccessControl() GetAccessControl() GetAccessControl() GetAccessControl()

현재 FileSecurity 개체에서 설명하는 파일의 ACL(액세스 제어 목록) 항목을 캡슐화하는 FileStream 개체를 가져옵니다.Gets a FileSecurity object that encapsulates the access control list (ACL) entries for the file described by the current FileStream object.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
Lock(Int64, Int64) Lock(Int64, Int64) Lock(Int64, Int64) Lock(Int64, Int64)

다른 프로세스가 FileStream을 읽거나 쓰지 못하게 합니다.Prevents other processes from reading from or writing to the FileStream.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

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

(Inherited from MarshalByRefObject)
ObjectInvariant() ObjectInvariant() ObjectInvariant() ObjectInvariant()

Contract에 대한 지원을 제공합니다.Provides support for a Contract.

(Inherited from Stream)
Read(Byte[], Int32, Int32) Read(Byte[], Int32, Int32) Read(Byte[], Int32, Int32) Read(Byte[], Int32, Int32)

스트림에서 바이트 블록을 읽어서 해당 데이터를 제공된 버퍼에 씁니다.Reads a block of bytes from the stream and writes the data in a given buffer.

Read(Span<Byte>) Read(Span<Byte>) Read(Span<Byte>) Read(Span<Byte>)
ReadAsync(Byte[], Int32, Int32) ReadAsync(Byte[], Int32, Int32) ReadAsync(Byte[], Int32, Int32) ReadAsync(Byte[], Int32, Int32)

현재 스트림에서 바이트 시퀀스를 읽고 읽은 바이트 수만큼 스트림에서 위치를 비동기적으로 앞으로 이동합니다.Asynchronously reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

(Inherited from Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken) ReadAsync(Byte[], Int32, Int32, CancellationToken) ReadAsync(Byte[], Int32, Int32, CancellationToken) ReadAsync(Byte[], Int32, Int32, CancellationToken)

현재 스트림에서 바이트의 시퀀스를 비동기적으로 읽고 읽은 바이트 수만큼 스트림 내에서 앞으로 이동하며 취소 요청을 모니터링합니다.Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests.

ReadAsync(Memory<Byte>, CancellationToken) ReadAsync(Memory<Byte>, CancellationToken) ReadAsync(Memory<Byte>, CancellationToken) ReadAsync(Memory<Byte>, CancellationToken)
ReadByte() ReadByte() ReadByte() ReadByte()

파일에서 1바이트를 읽고 읽기 위치를 1바이트만큼 앞으로 이동합니다.Reads a byte from the file and advances the read position one byte.

Seek(Int64, SeekOrigin) Seek(Int64, SeekOrigin) Seek(Int64, SeekOrigin) Seek(Int64, SeekOrigin)

이 스트림의 현재 위치를 제공된 값으로 설정합니다.Sets the current position of this stream to the given value.

SetAccessControl(FileSecurity) SetAccessControl(FileSecurity) SetAccessControl(FileSecurity) SetAccessControl(FileSecurity)

FileSecurity 개체에서 설명하는 ACL(액세스 제어 목록) 항목을 현재 FileStream 개체에서 설명하는 파일에 적용합니다.Applies access control list (ACL) entries described by a FileSecurity object to the file described by the current FileStream object.

SetLength(Int64) SetLength(Int64) SetLength(Int64) SetLength(Int64)

이 스트림의 길이를 제공된 값으로 설정합니다.Sets the length of this stream to the given value.

ToString() ToString() ToString() ToString()

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

(Inherited from Object)
Unlock(Int64, Int64) Unlock(Int64, Int64) Unlock(Int64, Int64) Unlock(Int64, Int64)

다른 프로세스에서 이전에 잠근 파일의 일부 또는 전부에 액세스할 수 있도록 합니다.Allows access by other processes to all or part of a file that was previously locked.

Write(Byte[], Int32, Int32) Write(Byte[], Int32, Int32) Write(Byte[], Int32, Int32) Write(Byte[], Int32, Int32)

바이트 블록을 파일 스트림에 씁니다.Writes a block of bytes to the file stream.

Write(ReadOnlySpan<Byte>) Write(ReadOnlySpan<Byte>) Write(ReadOnlySpan<Byte>) Write(ReadOnlySpan<Byte>)
WriteAsync(Byte[], Int32, Int32) WriteAsync(Byte[], Int32, Int32) WriteAsync(Byte[], Int32, Int32) WriteAsync(Byte[], Int32, Int32)

현재 스트림에 바이트 시퀀스를 비동기적으로 쓰고 쓴 바이트 수만큼 이 스트림에서 현재 위치를 앞으로 이동합니다.Asynchronously writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

(Inherited from Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken) WriteAsync(Byte[], Int32, Int32, CancellationToken) WriteAsync(Byte[], Int32, Int32, CancellationToken) WriteAsync(Byte[], Int32, Int32, CancellationToken)

바이트의 시퀀스를 현재 스트림에 비동기적으로 쓰고 쓰여진 바이트 수만큼 이 스트림 내의 현재 위치를 앞으로 이동한 후 취소 요청을 모니터링합니다.Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)
WriteByte(Byte) WriteByte(Byte) WriteByte(Byte) WriteByte(Byte)

파일 스트림의 현재 위치에 바이트를 씁니다.Writes a byte to the current position in the file stream.

명시적 인터페이스 구현

IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose()

Stream에서 사용하는 모든 리소스를 해제합니다.Releases all resources used by the Stream.

(Inherited from Stream)

Extension Methods

GetAccessControl(FileStream) GetAccessControl(FileStream) GetAccessControl(FileStream) GetAccessControl(FileStream)
SetAccessControl(FileStream, FileSecurity) SetAccessControl(FileStream, FileSecurity) SetAccessControl(FileStream, FileSecurity) SetAccessControl(FileStream, FileSecurity)
AsInputStream(Stream) AsInputStream(Stream) AsInputStream(Stream) AsInputStream(Stream)

Windows 스토어 앱용 .NET의 관리형 스트림을 Windows 런타임의 입력 스트림으로 변환합니다.Converts a managed stream in the .NET for Windows Store apps to an input stream in the Windows Runtime.

AsOutputStream(Stream) AsOutputStream(Stream) AsOutputStream(Stream) AsOutputStream(Stream)

Windows 스토어 앱용 .NET의 관리형 스트림을 Windows 런타임의 출력 스트림으로 변환합니다.Converts a managed stream in the .NET for Windows Store apps to an output stream in the Windows Runtime.

AsRandomAccessStream(Stream) AsRandomAccessStream(Stream) AsRandomAccessStream(Stream) AsRandomAccessStream(Stream)

지정된 스트림을 임의 액세스 스트림으로 변환합니다.Converts the specified stream to a random access stream.

적용 대상

추가 정보