FileStream 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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 생성자를 보여 줍니다.
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);
int readLen;
while ((readLen = fs.Read(b,0,b.Length)) > 0)
{
Console.WriteLine(temp.GetString(b,0,readLen));
}
}
}
private static void AddText(FileStream fs, string value)
{
byte[] info = new UTF8Encoding(true).GetBytes(value);
fs.Write(info, 0, info.Length);
}
}
open System
open System.IO
open System.Text
let addText (fs:FileStream) (value: string) =
let info = UTF8Encoding(true).GetBytes value
fs.Write(info, 0, info.Length);
let path = @"c:\temp\MyTest.txt"
// Delete the file if it exists.
if File.Exists path then
File.Delete path
//Create the file.
do
use 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 i = 1 to 119 do
Convert.ToChar i
|> string
|> addText fs
do
//Open the stream and read it back.
use fs = File.OpenRead path
let b = Array.zeroCreate 1024
let temp = UTF8Encoding true
let mutable readLen = fs.Read(b,0,b.Length);
while readLen> 0 do
printfn $"{temp.GetString(b,0,readLen)}"
readLen <- fs.Read(b,0,b.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 사용하여 파일 시스템에서 파일을 읽고, 쓰고, 열고, 닫고, 파이프, 표준 입력 및 표준 출력을 비롯한 다른 파일 관련 운영 체제 핸들을 조작할 수 있습니다. 메서드 Read, Write, CopyTo, 및 Flush를 사용하여 동기 작업을 수행하거나, 메서드 ReadAsync, WriteAsync, CopyToAsync, 및 FlushAsync를 사용하여 비동기 작업을 수행할 수 있습니다. 비동기 메서드를 사용하여 주 스레드를 차단하지 않고 리소스 집약적 파일 작업을 수행합니다. 이 성능 고려 사항은 시간이 많이 걸리는 스트림 작업이 UI 스레드를 차단하고 앱이 작동하지 않는 것처럼 표시되도록 할 수 있는 데스크톱 앱에서 특히 중요합니다. FileStream 는 더 나은 성능을 위해 입력 및 출력을 버퍼링합니다.
Important
이 형식은 IDisposable 인터페이스를 구현합니다. 형식 사용을 마쳤으면 직접 또는 간접적으로 삭제해야 합니다. 형식을 직접 삭제하려면 Disposetry/ 블록에서 해당 catch 메서드를 호출합니다. 간접적으로 삭제하려면 using(C#) 또는 Using(Visual Basic)와 같은 언어 구문을 사용합니다. 자세한 내용은 인터페이스 항목의 "IDisposable을 구현하는 개체 사용" 섹션을 IDisposable 참조하세요.
이 속성은 IsAsync 파일 핸들이 비동기적으로 열렸는지 여부를 검색합니다. 생성자에 FileStream, isAsync, 또는 useAsync 매개 변수가 있을 때 options 클래스의 인스턴스를 만들 때 이 값을 지정합니다. 속성이 true인 경우, 스트림은 오버랩된 I/O를 사용하여 파일 작업을 비동기적으로 수행합니다. 그러나 IsAsync 속성은 true, ReadAsync 또는 WriteAsync 메서드를 호출하기 위해 CopyToAsync일 필요가 없습니다.
IsAsync 속성이 false 있고 비동기 읽기 및 쓰기 작업을 호출하는 경우 UI 스레드는 여전히 차단되지 않지만 실제 I/O 작업은 동기적으로 수행됩니다.
이 메서드는 Seek 파일에 대한 임의 액세스를 지원합니다. Seek 를 사용하면 파일 내의 모든 위치로 읽기/쓰기 위치를 이동할 수 있습니다. 이 작업은 바이트 오프셋 참조 지점 매개 변수를 사용하여 수행됩니다. 바이트 오프셋은 열거형의 세 멤버 SeekOrigin 가 나타내는 대로 시작, 현재 위치 또는 기본 파일의 끝일 수 있는 검색 참조 지점을 기준으로 합니다.
Note
디스크 파일은 항상 임의 액세스를 지원합니다. 생성 당시 CanSeek 속성 값은 기본 파일 형식에 따라 true 또는 false로 설정됩니다. winbase.h에 정의된 대로 기본 파일 형식이 FILE_TYPE_DISK인 경우, CanSeek 속성 값은 true입니다. 그렇지 않으면 속성 값은 CanSeekfalse입니다.
프로세스가 파일의 일부를 잠갔다가 종료되거나, 해결되지 않은 잠금이 있는 파일을 닫으면 동작이 정의되지 않습니다.
디렉터리 작업 및 기타 파일 작업에 대해서는 File, Directory, Path 클래스를 참조하세요. 이 File 클래스는 주로 파일 경로를 기반으로 개체를 만들기 FileStream 위한 정적 메서드가 있는 유틸리티 클래스입니다. 클래스는 MemoryStream 바이트 배열에서 스트림을 만들고 클래스와 비슷합니다 FileStream .
일반적인 파일 및 디렉터리 작업 목록은 일반적인 I/O 작업을 참조하세요.
스트림 위치 변경 탐지
FileStream 개체의 핸들에 배타적 보류가 없는 경우 다른 스레드는 파일 핸들에 동시에 액세스하고 파일 핸들과 연결된 운영 체제의 파일 포인터 위치를 변경할 수 있습니다. 이 경우 개체의 캐시된 위치 FileStream 와 버퍼의 캐시된 데이터가 손상될 수 있습니다. 개체는 FileStream 캐시된 버퍼에 액세스하는 메서드에 대한 검사를 정기적으로 수행하여 운영 체제의 핸들 위치가 개체에서 사용하는 FileStream 캐시된 위치와 동일한지 확인합니다.
메서드 호출 Read 에서 핸들 위치의 예기치 않은 변경이 감지되면 .NET은 버퍼의 내용을 삭제하고 파일에서 스트림을 다시 읽습니다. 이는 파일의 크기 및 파일 스트림의 위치에 영향을 줄 수 있는 다른 프로세스에 따라 성능에 영향을 줄 수 있습니다.
메서드 호출 Write 에서 핸들 위치의 예기치 않은 변경이 감지되면 버퍼의 내용이 삭제되고 예외가 IOException throw됩니다.
FileStream 개체가 핸들을 노출하기 위해 SafeFileHandle 속성에 액세스할 때 또는 생성자에서 FileStream 속성을 SafeFileHandle 개체에 제공할 때 해당 핸들에 대한 배타적인 보류가 없습니다.
생성자
| Name | Description |
|---|---|
| FileStream(IntPtr, FileAccess, Boolean, Int32, Boolean) |
사용되지 않음.
사용되지 않음.
사용되지 않음.
지정된 읽기/쓰기 권한FileStream, 인스턴스 소유권, 버퍼 크기 및 동기 또는 비동기 상태를 사용하여 지정된 파일 핸들에 대한 클래스의 새 인스턴스 |
| FileStream(IntPtr, FileAccess, Boolean, Int32) |
사용되지 않음.
사용되지 않음.
사용되지 않음.
지정된 읽기/쓰기 권한, FileStream 인스턴스 |
| FileStream(IntPtr, FileAccess, Boolean) |
사용되지 않음.
사용되지 않음.
사용되지 않음.
지정된 읽기/쓰기 권한 및 FileStream 인스턴스 |
| FileStream(IntPtr, FileAccess) |
사용되지 않음.
사용되지 않음.
사용되지 않음.
지정된 읽기/쓰기 권한을 사용하여 지정된 파일 핸들에 대한 클래스의 새 인스턴스 FileStream 를 초기화합니다. |
| FileStream(SafeFileHandle, FileAccess, Int32, Boolean) |
지정된 읽기/쓰기 권한, 버퍼 크기, 동기 또는 비동기 상태를 사용하여 지정된 파일 핸들에 대한 클래스의 새 인스턴스 FileStream 를 초기화합니다. |
| FileStream(SafeFileHandle, FileAccess, Int32) |
지정된 읽기/쓰기 권한 및 버퍼 크기를 사용하여 지정된 파일 핸들에 대한 클래스의 새 인스턴스 FileStream 를 초기화합니다. |
| FileStream(SafeFileHandle, FileAccess) |
지정된 읽기/쓰기 권한을 사용하여 지정된 파일 핸들에 대한 클래스의 새 인스턴스 FileStream 를 초기화합니다. |
| FileStream(String, FileMode, FileAccess, FileShare, Int32, Boolean) |
지정된 경로, 생성 모드, 읽기/쓰기 및 공유 권한, 버퍼 크기, 동기 또는 비동기 상태를 사용하여 클래스의 새 인스턴스 FileStream 를 초기화합니다. |
| FileStream(String, FileMode, FileAccess, FileShare, Int32, FileOptions) |
지정된 경로, 만들기 모드, 읽기/쓰기 및 공유 권한, 다른 FileStreams가 동일한 파일, 버퍼 크기 및 추가 파일 옵션에 대해 가질 수 있는 액세스 권한을 사용하여 클래스의 새 인스턴스 FileStream 를 초기화합니다. |
| FileStream(String, FileMode, FileAccess, FileShare, Int32) |
지정된 경로, 만들기 모드, 읽기/쓰기 및 공유 권한 및 버퍼 크기를 사용하여 클래스의 FileStream 새 인스턴스를 초기화합니다. |
| FileStream(String, FileMode, FileAccess, FileShare) |
지정된 경로, 만들기 모드, 읽기/쓰기 권한 및 공유 권한을 사용하여 클래스의 FileStream 새 인스턴스를 초기화합니다. |
| FileStream(String, FileMode, FileAccess) |
지정된 경로, 생성 모드 및 읽기/쓰기 권한을 사용하여 클래스의 FileStream 새 인스턴스를 초기화합니다. |
| FileStream(String, FileMode, FileSystemRights, FileShare, Int32, FileOptions, FileSecurity) |
지정된 경로, 생성 모드, 액세스 권한 및 공유 권한, 버퍼 크기, 추가 파일 옵션, 액세스 제어 및 감사 보안을 사용하여 클래스의 새 인스턴스 FileStream 를 초기화합니다. |
| FileStream(String, FileMode, FileSystemRights, FileShare, Int32, FileOptions) |
지정된 경로, 생성 모드, 액세스 권한 및 공유 권한, 버퍼 크기 및 추가 파일 옵션을 사용하여 클래스의 새 인스턴스 FileStream 를 초기화합니다. |
| FileStream(String, FileMode) |
지정된 경로 및 생성 모드를 FileStream 사용하여 클래스의 새 인스턴스를 초기화합니다. |
| FileStream(String, FileStreamOptions) |
지정된 경로, 생성 모드, 읽기/쓰기 및 공유 권한, 버퍼 크기, 추가 파일 옵션, 사전 할당 크기 및 다른 FileStreams가 동일한 파일에 대해 가질 수 있는 액세스 권한을 사용하여 클래스의 새 인스턴스 FileStream 를 초기화합니다. |
속성
| Name | Description |
|---|---|
| CanRead |
현재 스트림이 읽기를 지원하는지 여부를 나타내는 값을 가져옵니다. |
| CanSeek |
현재 스트림에서 검색을 지원하는지 여부를 나타내는 값을 가져옵니다. |
| CanTimeout |
현재 스트림이 시간 초과할 수 있는지 여부를 결정하는 값을 가져옵니다. (다음에서 상속됨 Stream) |
| CanWrite |
현재 스트림이 쓰기를 지원하는지 여부를 나타내는 값을 가져옵니다. |
| Handle |
사용되지 않음.
사용되지 않음.
사용되지 않음.
현재 |
| IsAsync |
비동기 또는 동기식으로 열었는지 여부를 |
| Length |
스트림의 길이(바이트)를 가져옵니다. |
| Name |
에서 열린 |
| Position |
이 스트림의 현재 위치를 가져오거나 설정합니다. |
| ReadTimeout |
시간이 초과되기 전에 스트림이 읽기를 시도하는 기간을 결정하는 값(밀리초)을 가져오거나 설정합니다. (다음에서 상속됨 Stream) |
| SafeFileHandle |
SafeFileHandle 현재 FileStream 개체가 캡슐화하는 파일의 운영 체제 파일 핸들을 나타내는 개체를 가져옵니다. |
| WriteTimeout |
시간 초과 전에 스트림이 쓰기를 시도하는 기간을 결정하는 값을 밀리초 단위로 가져오거나 설정합니다. (다음에서 상속됨 Stream) |
메서드
| Name | Description |
|---|---|
| BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
비동기 읽기 작업을 시작합니다. 대신 ReadAsync(Byte[], Int32, Int32, CancellationToken)을 사용하는 것이 좋습니다. |
| BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
비동기 쓰기 작업을 시작합니다. 대신 WriteAsync(Byte[], Int32, Int32, CancellationToken)을 사용하는 것이 좋습니다. |
| Close() |
현재 스트림을 닫고 현재 스트림과 연결된 모든 리소스(예: 소켓 및 파일 핸들)를 해제합니다. |
| Close() |
현재 스트림을 닫고 현재 스트림과 연결된 모든 리소스(예: 소켓 및 파일 핸들)를 해제합니다. 이 메서드를 호출하는 대신 스트림이 제대로 삭제되었는지 확인합니다. (다음에서 상속됨 Stream) |
| CopyTo(Stream, Int32) |
현재 스트림에서 바이트를 읽고 지정된 버퍼 크기를 사용하여 다른 스트림에 씁니다. 두 스트림 위치는 복사된 바이트 수만큼 고급입니다. |
| CopyTo(Stream, Int32) |
현재 스트림에서 바이트를 읽고 지정된 버퍼 크기를 사용하여 다른 스트림에 씁니다. 두 스트림 위치는 복사된 바이트 수만큼 고급입니다. (다음에서 상속됨 Stream) |
| CopyTo(Stream) |
현재 스트림에서 바이트를 읽고 다른 스트림에 씁니다. 두 스트림 위치는 복사된 바이트 수만큼 고급입니다. (다음에서 상속됨 Stream) |
| CopyToAsync(Stream, CancellationToken) |
지정된 취소 토큰을 사용하여 현재 스트림에서 바이트를 비동기적으로 읽고 다른 스트림에 씁니다. 두 스트림 위치는 복사된 바이트 수만큼 고급입니다. (다음에서 상속됨 Stream) |
| CopyToAsync(Stream, Int32, CancellationToken) |
지정된 버퍼 크기 및 취소 토큰을 사용하여 현재 파일 스트림에서 바이트를 비동기적으로 읽고 다른 스트림에 씁니다. |
| CopyToAsync(Stream, Int32, CancellationToken) |
지정된 버퍼 크기 및 취소 토큰을 사용하여 현재 스트림에서 바이트를 비동기적으로 읽고 다른 스트림에 씁니다. 두 스트림 위치는 복사된 바이트 수만큼 고급입니다. (다음에서 상속됨 Stream) |
| CopyToAsync(Stream, Int32) |
지정된 버퍼 크기를 사용하여 현재 스트림에서 바이트를 비동기적으로 읽고 다른 스트림에 씁니다. 두 스트림 위치는 복사된 바이트 수만큼 고급입니다. (다음에서 상속됨 Stream) |
| CopyToAsync(Stream) |
현재 스트림에서 바이트를 비동기적으로 읽고 다른 스트림에 씁니다. 두 스트림 위치는 복사된 바이트 수만큼 고급입니다. (다음에서 상속됨 Stream) |
| CreateObjRef(Type) |
원격 개체와 통신하는 데 사용되는 프록시를 생성하는 데 필요한 모든 관련 정보를 포함하는 개체를 만듭니다. (다음에서 상속됨 MarshalByRefObject) |
| CreateWaitHandle() |
사용되지 않음.
사용되지 않음.
사용되지 않음.
개체를 WaitHandle 할당합니다. (다음에서 상속됨 Stream) |
| Dispose() |
에서 사용하는 모든 리소스를 Stream해제합니다. (다음에서 상속됨 Stream) |
| Dispose(Boolean) |
관리되지 않는 리소스를 FileStream 해제하고 관리되는 리소스를 선택적으로 해제합니다. |
| DisposeAsync() |
에서 사용하는 FileStream관리되지 않는 리소스를 비동기적으로 해제합니다. |
| EndRead(IAsyncResult) |
보류 중인 비동기 읽기 작업이 완료되기를 기다립니다. (대신 사용하는 ReadAsync(Byte[], Int32, Int32, CancellationToken) 것이 좋습니다.) |
| EndWrite(IAsyncResult) |
비동기 쓰기 작업을 종료하고 I/O 작업이 완료될 때까지 차단합니다. (대신 사용하는 WriteAsync(Byte[], Int32, Int32, CancellationToken) 것이 좋습니다.) |
| Equals(Object) |
지정된 개체가 현재 개체와 같은지 여부를 확인합니다. (다음에서 상속됨 Object) |
| Finalize() |
가비지 수집기가 리소스를 회수할 때 리소스가 해제되고 다른 정리 작업이 수행되는지 확인합니다 |
| Flush() |
이 스트림에 대한 버퍼를 지우고 버퍼링된 데이터가 파일에 기록되도록 합니다. |
| Flush(Boolean) |
이 스트림에 대한 버퍼를 지우고 버퍼링된 데이터가 파일에 기록되도록 하고 모든 중간 파일 버퍼도 지웁니다. |
| FlushAsync() |
이 스트림에 대한 모든 버퍼를 비동기적으로 지우고 버퍼링된 데이터가 기본 디바이스에 기록되도록 합니다. (다음에서 상속됨 Stream) |
| FlushAsync(CancellationToken) |
이 스트림에 대한 모든 버퍼를 비동기적으로 지우고, 버퍼링된 데이터가 파일에 기록되도록 하고, 취소 요청을 모니터링합니다. |
| GetAccessControl() |
현재 FileSecurity 개체에서 FileStream 설명하는 파일에 대한 ACL(액세스 제어 목록) 항목을 캡슐화하는 개체를 가져옵니다. |
| 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, CancellationToken) |
현재 파일 스트림에서 바이트 시퀀스를 비동기적으로 읽고 지정된 오프셋에서 시작하는 바이트 배열에 쓰고, 파일 스트림 내의 위치를 읽은 바이트 수만큼 이동하고, 취소 요청을 모니터링합니다. |
| ReadAsync(Byte[], Int32, Int32) |
현재 스트림에서 바이트 시퀀스를 비동기적으로 읽고 읽은 바이트 수만큼 스트림 내의 위치를 이동합니다. (다음에서 상속됨 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 바이트 앞으로 이동합니다. |
| ReadExactly(Byte[], Int32, Int32) |
|
| ReadExactly(Span<Byte>) |
현재 스트림에서 바이트를 읽고 스트림이 채워질 때까지 스트림 내의 |
| ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
현재 스트림에서 바이트 수를 비동기적으로 읽고 |
| ReadExactlyAsync(Memory<Byte>, CancellationToken) |
현재 스트림에서 바이트를 비동기적으로 읽고, 스트림이 채워질 때까지 |
| 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, CancellationToken) |
바이트 시퀀스를 현재 스트림에 비동기적으로 쓰고, 기록된 바이트 수만큼 이 스트림 내의 현재 위치를 발전시키고, 취소 요청을 모니터링합니다. |
| WriteAsync(Byte[], Int32, Int32) |
바이트 시퀀스를 현재 스트림에 비동기적으로 쓰고 이 스트림 내의 현재 위치를 기록된 바이트 수만큼 앞으로 이동합니다. (다음에서 상속됨 Stream) |
| WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
메모리 영역에서 현재 파일 스트림으로 바이트 시퀀스를 비동기적으로 작성하고, 기록된 바이트 수만큼 이 파일 스트림 내의 현재 위치를 이동하고, 취소 요청을 모니터링합니다. |
| WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
바이트 시퀀스를 현재 스트림에 비동기적으로 쓰고, 기록된 바이트 수만큼 이 스트림 내의 현재 위치를 발전시키고, 취소 요청을 모니터링합니다. (다음에서 상속됨 Stream) |
| WriteByte(Byte) |
파일 스트림의 현재 위치에 바이트를 씁니다. |
명시적 인터페이스 구현
| Name | Description |
|---|---|
| IDisposable.Dispose() |
에서 사용하는 모든 리소스를 Stream해제합니다. (다음에서 상속됨 Stream) |
확장명 메서드
| Name | Description |
|---|---|
| AsInputStream(Stream) |
Windows 스토어 앱용 .NET의 관리되는 스트림을 Windows 런타임의 입력 스트림으로 변환합니다. |
| AsOutputStream(Stream) |
Windows 스토어 앱용 .NET의 관리되는 스트림을 Windows 런타임의 출력 스트림으로 변환합니다. |
| AsRandomAccessStream(Stream) |
지정된 스트림을 임의 액세스 스트림으로 변환합니다. |
| ConfigureAwait(IAsyncDisposable, Boolean) |
비동기 삭제 가능 파일에서 반환된 작업에 대한 대기가 수행되는 방법을 구성합니다. |
| CopyToAsync(Stream, PipeWriter, CancellationToken) |
취소 토큰을 사용하여 바이트를 비동기적으로 읽고 지정된 Stream바이트에 PipeWriter 씁니다. |
| GetAccessControl(FileStream) |
파일의 보안 정보를 반환합니다. |
| SetAccessControl(FileStream, FileSecurity) |
기존 파일의 보안 특성을 변경합니다. |