FileStream.Flush 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
이 스트림의 버퍼를 지우고 버퍼링된 모든 데이터가 파일에 쓰여지도록 합니다.
오버로드
Flush() |
이 스트림의 버퍼를 지우고 버퍼링된 모든 데이터가 파일에 쓰여지도록 합니다. |
Flush(Boolean) |
이 스트림에 대한 버퍼를 지우고 버퍼링된 모든 데이터가 파일에 쓰여지도록 하며 모든 중간 파일 버퍼도 지웁니다. |
Flush()
- Source:
- FileStream.cs
- Source:
- FileStream.cs
- Source:
- FileStream.cs
이 스트림의 버퍼를 지우고 버퍼링된 모든 데이터가 파일에 쓰여지도록 합니다.
public:
override void Flush();
public override void Flush ();
override this.Flush : unit -> unit
Public Overrides Sub Flush ()
예외
I/O 오류가 발생했습니다.
스트림이 닫혔습니다.
예제
이 코드 예제는에 대해 제공 된 큰 예제의 일부는 Lock 메서드.
// Update the file.
case 'W':
try
{
fileStream->Seek( textLength, SeekOrigin::Begin );
fileStream->Read( readText, textLength - 1, byteCount );
tempString = gcnew String( uniEncoding->GetChars( readText, textLength - 1, byteCount ) );
recordNumber = Int32::Parse( tempString ) + 1;
fileStream->Seek( textLength, SeekOrigin::Begin );
fileStream->Write( uniEncoding->GetBytes( recordNumber.ToString() ), 0, byteCount );
fileStream->Flush();
Console::WriteLine( "Record has been updated." );
}
// Update the file.
case 'W':
try
{
fileStream.Seek(textLength,
SeekOrigin.Begin);
fileStream.Read(
readText, textLength - 1, byteCount);
tempString = new String(
uniEncoding.GetChars(
readText, textLength - 1, byteCount));
recordNumber = int.Parse(tempString) + 1;
fileStream.Seek(
textLength, SeekOrigin.Begin);
fileStream.Write(uniEncoding.GetBytes(
recordNumber.ToString()),
0, byteCount);
fileStream.Flush();
Console.WriteLine(
"Record has been updated.");
}
| 'W' ->
// Update the file.
try
fileStream.Seek(textLength, SeekOrigin.Begin) |> ignore
fileStream.Read(readText, textLength - 1, byteCount) |> ignore
tempString <- String(uniEncoding.GetChars readText, textLength - 1, byteCount)
recordNumber <- Int32.Parse tempString + 1
fileStream.Seek(textLength, SeekOrigin.Begin) |> ignore
fileStream.Write(string recordNumber |> uniEncoding.GetBytes, 0, byteCount)
fileStream.Flush()
printfn "Record has been updated."
' Update the file.
Case "W"C
Try
aFileStream.Seek(textLength, _
SeekOrigin.Begin)
aFileStream.Read( _
readText, textLength - 1, byteCount)
tempString = New String( _
uniEncoding.GetChars( _
readText, textLength - 1, byteCount))
recordNumber = _
Integer.Parse(tempString) + 1
aFileStream.Seek( _
textLength, SeekOrigin.Begin)
aFileStream.Write(uniEncoding.GetBytes( _
recordNumber.ToString()), 0, byteCount)
aFileStream.Flush()
Console.WriteLine( _
"Record has been updated.")
설명
이 메서드는 Stream.Flush를 재정의합니다.
메서드를 FileStream.Flush 호출하면 운영 체제 I/O 버퍼도 플러시됩니다.
개체를 명시적으로 호출 Flush 하거나 삭제하지 않는 한 스트림의 인코더는 플러시되지 않습니다. 를 로 true
설정 StreamWriter.AutoFlush 하면 데이터가 버퍼에서 스트림으로 플러시되지만 인코더 상태는 플러시되지 않습니다. 이렇게 하면 인코더가 다음 문자 블록을 올바르게 인코딩할 수 있도록 해당 상태(부분 문자)를 유지할 수 있습니다. 이 시나리오는 인코더가 인접한 문자 또는 문자를 받은 후에만 특정 문자를 인코딩할 수 있는 UTF8 및 UTF7에 영향을 줍니다.
버퍼를 읽기 또는 쓰기 Flush() 에 사용할 수 있으므로 는 다음 두 함수를 수행합니다.
버퍼에 이전에 기록된 모든 데이터는 파일에 복사되고 버퍼는 인코더 상태를 제외하고 지워집니다.
가
true
이고 데이터가 이전에 읽기 위해 파일에서 버퍼로 복사된 경우 BufferedStream.CanSeek 파일 내의 현재 위치는 버퍼의 읽지 않은 바이트 수만큼 감소합니다. 그런 다음 버퍼가 지워집니다.
중간 파일 버퍼의 Flush(Boolean) 모든 버퍼링된 데이터가 디스크에 기록되도록 하려면 메서드 오버로드를 사용합니다.
추가 정보
적용 대상
Flush(Boolean)
- Source:
- FileStream.cs
- Source:
- FileStream.cs
- Source:
- FileStream.cs
이 스트림에 대한 버퍼를 지우고 버퍼링된 모든 데이터가 파일에 쓰여지도록 하며 모든 중간 파일 버퍼도 지웁니다.
public:
virtual void Flush(bool flushToDisk);
public virtual void Flush (bool flushToDisk);
override this.Flush : bool -> unit
Public Overridable Sub Flush (flushToDisk As Boolean)
매개 변수
- flushToDisk
- Boolean
모든 중간 파일 버퍼를 플러시하려면 true
이고, 플러시하지 않으려면 false
입니다.
설명
중간 파일 버퍼의 모든 버퍼링된 데이터가 디스크에 기록되도록 하려면 이 오버로드를 사용합니다.
메서드를 Flush 호출하면 운영 체제 I/O 버퍼도 플러시됩니다.
추가 정보
적용 대상
.NET