다음을 통해 공유


FileChannel.Force(Boolean) 메서드

정의

이 채널의 파일에 대한 업데이트를 포함하는 스토리지 디바이스에 기록하도록 합니다.

[Android.Runtime.Register("force", "(Z)V", "GetForce_ZHandler")]
public abstract void Force(bool metaData);
[<Android.Runtime.Register("force", "(Z)V", "GetForce_ZHandler")>]
abstract member Force : bool -> unit

매개 변수

metaData
Boolean

파일의 콘텐츠와 메타데이터를 모두 스토리지에 강제로 변경해야 하는 경우 true , 그렇지 않으면 콘텐츠 변경 내용만 강제로 작성해야 합니다.

특성

예외

이 채널이 이미 닫혀 있는 경우

다른 I/O 오류가 발생하는 경우

설명

이 채널의 파일에 대한 업데이트를 포함하는 스토리지 디바이스에 기록하도록 합니다.

이 채널의 파일이 로컬 스토리지 디바이스에 있는 경우 이 메서드가 반환되면 이 채널이 만들어진 이후 또는 이 메서드가 마지막으로 호출된 이후 파일에 대한 모든 변경 내용이 해당 디바이스에 기록됩니다. 이는 시스템 충돌 시 중요한 정보가 손실되지 않도록 하는 데 유용합니다.

파일이 로컬 디바이스에 상주하지 않으면 이러한 보장이 수행되지 않습니다.

매개 변수를 metaData 사용하여 이 메서드가 수행해야 하는 I/O 작업의 수를 제한할 수 있습니다. 이 매개 변수를 전달 false 하면 파일 콘텐츠에 대한 업데이트만 스토리지에 기록되어야 하며, 전달 true 하면 파일의 콘텐츠와 메타데이터 모두에 대한 업데이트를 작성해야 하며 일반적으로 하나 이상의 I/O 작업이 필요합니다. 이 매개 변수가 실제로 어떤 영향을 미치는지 여부는 기본 운영 체제에 따라 달라지므로 지정되지 않습니다.

이 메서드를 호출하면 채널이 읽기 전용으로 열린 경우에도 I/O 작업이 발생할 수 있습니다. 예를 들어 일부 운영 체제는 파일 메타데이터의 일부로 마지막 액세스 시간을 유지 관리하며, 이 시간은 파일을 읽을 때마다 업데이트됩니다. 이 작업이 실제로 수행되는지 여부는 시스템에 따라 달라지므로 지정되지 않습니다.

이 메서드는 이 클래스에 정의된 메서드를 통해 이 채널의 파일을 강제로 변경하도록 보장됩니다. 메서드를 호출 #map map 하여 가져온 콘텐츠를 MappedByteBuffer <i>mapped byte buffer</i> 수정하여 변경한 내용을 강제로 적용할 수도 있습니다. MappedByteBuffer#force force 매핑된 바이트 버퍼의 메서드를 호출하면 버퍼의 콘텐츠에 대한 변경 내용이 강제로 작성됩니다.

에 대한 java.nio.channels.FileChannel.force(boolean)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상