AsynchronousFileChannel 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
파일 읽기, 쓰기 및 조작을 위한 비동기 채널입니다.
[Android.Runtime.Register("java/nio/channels/AsynchronousFileChannel", ApiSince=26, DoNotGenerateAcw=true)]
public abstract class AsynchronousFileChannel : Java.Lang.Object, IDisposable, Java.Nio.Channels.IAsynchronousChannel
[<Android.Runtime.Register("java/nio/channels/AsynchronousFileChannel", ApiSince=26, DoNotGenerateAcw=true)>]
type AsynchronousFileChannel = class
inherit Object
interface IAsynchronousChannel
interface IChannel
interface ICloseable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 상속
- 특성
- 구현
설명
파일 읽기, 쓰기 및 조작을 위한 비동기 채널입니다.
이 클래스에서 정의한 메서드 중 #open open 하나를 호출하여 파일을 열 때 비동기 파일 채널이 만들어집니다. 파일에는 읽고 쓸 수 있고 현재 크기가 될 수 있는 가변 길이 바이트 시퀀스가 포함되어 있습니다 #size() queried. 바이트가 현재 크기를 초과하여 작성되면 파일 크기가 증가합니다. 파일의 크기는 다음과 같은 경우 #truncate truncated감소합니다.
비동기 파일 채널에는 파일 내의 현재 위치 가 없습니다. 대신 비동기 작업을 시작하는 각 읽기 및 쓰기 메서드에 파일 위치가 지정됩니다. A CompletionHandler 는 매개 변수로 지정되고 I/O 작업의 결과를 사용하도록 호출됩니다. 또한 이 클래스는 비동기 작업을 시작하는 읽기 및 쓰기 메서드를 정의하고 Future 작업의 보류 중인 결과를 나타내는 메서드를 반환합니다. 작업이 Future 완료되었는지 확인하고 완료될 때까지 기다렸다가 결과를 검색하는 데 사용할 수 있습니다.
이 클래스는 읽기 및 쓰기 작업 외에도 다음 작업을 정의합니다.
<ul>
<li>
파일에 대한 업데이트는 기본 스토리지 디바이스일 수 #force <i>forced out</i> 있으므로 시스템 충돌 시 데이터가 손실되지 않습니다.
</li>
<li>
파일의 영역이 다른 프로그램의 액세스에 반대될 #lock <i>locked</i> 수 있습니다.
</li>
</ul>
A AsynchronousFileChannel 는 I/O 이벤트를 처리하고 채널에서 I/O 작업의 결과를 사용하는 완료 처리기로 디스패치하기 위해 작업이 제출되는 스레드 풀과 연결됩니다. 채널에서 시작된 I/O 작업에 대한 완료 처리기는 스레드 풀의 스레드 중 하나에 의해 호출되도록 보장됩니다(이렇게 하면 완료 처리기가 예상되는 <em>ID</em>이 있는 스레드에서 실행됨). I/O 작업이 즉시 완료되고 시작 스레드 자체가 스레드 풀의 스레드인 경우 완료 처리기는 시작 스레드에서 직접 호출될 수 있습니다. 스레드 풀을 AsynchronousFileChannel 지정하지 않고 만든 경우 채널은 다른 채널과 공유할 수 있는 시스템 종속 기본 스레드 풀과 연결됩니다. 기본 스레드 풀은 클래스에서 정의한 시스템 속성에 의해 구성됩니다 AsynchronousChannelGroup .
이 유형의 채널은 여러 동시 스레드에서 사용하기에 안전합니다.
Channel#close close 인터페이스에서 지정한 대로 언제든지 메서드를 호출할 Channel 수 있습니다. 이렇게 하면 채널의 모든 미해결 비동기 작업이 예외 AsynchronousCloseException로 완료됩니다. 여러 읽기 및 쓰기 작업이 동시에 처리될 수 있습니다. 읽기 및 쓰기 작업이 여러 개인 경우 I/O 작업의 순서와 완료 처리기가 호출되는 순서는 지정되지 않습니다. 특히 작업이 시작된 순서대로 실행되도록 보장되지는 않습니다.
java.nio.ByteBuffer ByteBuffers 읽기 또는 쓰기 시 사용되는 항목은 여러 동시 I/O 작업에서 사용하기에 안전하지 않습니다. 또한 I/O 작업이 시작된 후에는 작업이 완료될 때까지 버퍼에 액세스하지 않도록 주의해야 합니다.
마찬가지로 FileChannel이 클래스의 인스턴스에서 제공하는 파일 보기는 동일한 프로그램의 다른 인스턴스에서 제공하는 동일한 파일의 다른 보기와 일치하도록 보장됩니다. 그러나 이 클래스의 인스턴스에서 제공하는 뷰는 기본 운영 체제에서 수행되는 캐싱 및 네트워크 파일 시스템 프로토콜로 인한 지연으로 인해 동시에 실행되는 다른 프로그램에서 볼 수 있는 보기와 일치할 수도 있고 그렇지 않을 수도 있습니다. 이는 이러한 다른 프로그램이 작성된 언어와 동일한 컴퓨터에서 실행되는지 또는 다른 컴퓨터에서 실행되는지에 관계없이 마찬가지입니다. 이러한 불일치의 정확한 특성은 시스템에 따라 달라지므로 지정되지 않습니다.
1.7에 추가되었습니다.
에 대한 java.nio.channels.AsynchronousFileChannelJava 설명서
이 페이지의 일부는 만들고 공유한 작업을 기반으로 하며 에 설명된 조건에 따라 사용됩니다.
생성자
| Name | Description |
|---|---|
| AsynchronousFileChannel() |
이 클래스의 새 인스턴스를 초기화합니다. |
| AsynchronousFileChannel(IntPtr, JniHandleOwnership) |
파일 읽기, 쓰기 및 조작을 위한 비동기 채널입니다. |
속성
| Name | Description |
|---|---|
| Class |
이 |
| Handle |
기본 Android 인스턴스에 대한 핸들입니다. (다음에서 상속됨 Object) |
| IsOpen |
파일 읽기, 쓰기 및 조작을 위한 비동기 채널입니다. |
| JniIdentityHashCode |
interop 런타임에 의해 이 Java 피어에 할당된 ID 해시 코드를 가져옵니다. (다음에서 상속됨 Object) |
| JniManagedPeerState |
파일 읽기, 쓰기 및 조작을 위한 비동기 채널입니다. (다음에서 상속됨 JavaObject) |
| JniPeerMembers |
파일 읽기, 쓰기 및 조작을 위한 비동기 채널입니다. |
| PeerReference |
이 Java 피어에 대한 JNI 개체 참조를 가져옵니다. (다음에서 상속됨 Object) |
| ThresholdClass |
파일 읽기, 쓰기 및 조작을 위한 비동기 채널입니다. |
| ThresholdType |
파일 읽기, 쓰기 및 조작을 위한 비동기 채널입니다. |
메서드
| Name | Description |
|---|---|
| Clone() |
이 개체의 복사본을 만들고 반환합니다. (다음에서 상속됨 Object) |
| Close() |
이 채널을 닫습니다. |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
파일 읽기, 쓰기 및 조작을 위한 비동기 채널입니다. (다음에서 상속됨 JavaObject) |
| Dispose() |
이 Java 피어에서 보유한 리소스를 해제합니다. (다음에서 상속됨 Object) |
| Dispose(Boolean) |
이 Java 피어에서 보유한 리소스를 해제합니다. (다음에서 상속됨 Object) |
| DisposeUnlessReferenced() |
파일 읽기, 쓰기 및 조작을 위한 비동기 채널입니다. (다음에서 상속됨 JavaObject) |
| Equals(Object) |
파일 읽기, 쓰기 및 조작을 위한 비동기 채널입니다. (다음에서 상속됨 JavaObject) |
| Equals(Object) |
다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다. (다음에서 상속됨 Object) |
| Force(Boolean) |
이 채널의 파일에 대한 업데이트를 포함하는 스토리지 디바이스에 기록하도록 합니다. |
| GetHashCode() |
개체에 대한 해시 코드 값을 반환합니다. (다음에서 상속됨 Object) |
| JavaFinalize() |
가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다. (다음에서 상속됨 Object) |
| Lock() |
이 채널의 파일에 대한 배타적 잠금을 획득합니다. |
| Lock(Int64, Int64, Boolean, Object, ICompletionHandler) |
이 채널 파일의 지정된 영역에 대한 잠금을 획득합니다. |
| Lock(Int64, Int64, Boolean) |
이 채널 파일의 지정된 영역에 대한 잠금을 획득합니다. |
| Lock(Object, ICompletionHandler) |
이 채널의 파일에 대한 배타적 잠금을 획득합니다. |
| Notify() |
이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다. (다음에서 상속됨 Object) |
| NotifyAll() |
이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다. (다음에서 상속됨 Object) |
| Open(IPath, ICollection<IOpenOption>, IExecutorService, IFileAttribute[]) |
파일에 액세스하기 위해 비동기 파일 채널을 반환하여 읽기 및/또는 쓰기용 파일을 열거나 만듭니다. |
| Open(IPath, IOpenOption[]) |
파일에 액세스하기 위해 비동기 파일 채널을 반환하여 읽기 및/또는 쓰기용 파일을 열거나 만듭니다. |
| Read(ByteBuffer, Int64, Object, ICompletionHandler) |
지정된 파일 위치에서 시작하여 이 채널에서 지정된 버퍼로 바이트 시퀀스를 읽습니다. |
| Read(ByteBuffer, Int64) |
지정된 파일 위치에서 시작하여 이 채널에서 지정된 버퍼로 바이트 시퀀스를 읽습니다. |
| SetHandle(IntPtr, JniHandleOwnership) |
Handle 속성을 설정합니다. (다음에서 상속됨 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
파일 읽기, 쓰기 및 조작을 위한 비동기 채널입니다. (다음에서 상속됨 JavaObject) |
| Size() |
이 채널 파일의 현재 크기를 반환합니다. |
| ToArray<T>() |
이 Java 배열 래퍼에서 관리되는 배열을 만듭니다. (다음에서 상속됨 Object) |
| ToString() |
개체의 문자열 표현을 반환합니다. (다음에서 상속됨 Object) |
| Truncate(Int64) |
이 채널의 파일을 지정된 크기로 자립니다. |
| TryLock() |
이 채널의 파일에 대한 배타적 잠금을 획득하려고 시도합니다. |
| TryLock(Int64, Int64, Boolean) |
이 채널 파일의 지정된 영역에 대한 잠금을 획득하려고 시도합니다. |
| UnregisterFromRuntime() |
interop 런타임에서 이 Java 피어의 등록을 취소합니다. (다음에서 상속됨 Object) |
| Wait() |
현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <알림을 받><거나 ><>중단/종료<합니다.> (다음에서 상속됨 Object) |
| Wait(Int64, Int32) |
현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 >중단/<종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다. (다음에서 상속됨 Object) |
| Wait(Int64) |
현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 >중단/<종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다. (다음에서 상속됨 Object) |
| Write(ByteBuffer, Int64, Object, ICompletionHandler) |
지정된 파일 위치에서 시작하여 지정된 버퍼에서 이 채널에 바이트 시퀀스를 씁니다. |
| Write(ByteBuffer, Int64) |
지정된 파일 위치에서 시작하여 지정된 버퍼에서 이 채널에 바이트 시퀀스를 씁니다. |
명시적 인터페이스 구현
| Name | Description |
|---|---|
| IJavaPeerable.Disposed() |
파일 읽기, 쓰기 및 조작을 위한 비동기 채널입니다. (다음에서 상속됨 JavaObject) |
| IJavaPeerable.Finalized() |
파일 읽기, 쓰기 및 조작을 위한 비동기 채널입니다. (다음에서 상속됨 JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
파일 읽기, 쓰기 및 조작을 위한 비동기 채널입니다. (다음에서 상속됨 JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
파일 읽기, 쓰기 및 조작을 위한 비동기 채널입니다. (다음에서 상속됨 JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
파일 읽기, 쓰기 및 조작을 위한 비동기 채널입니다. (다음에서 상속됨 JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
파일 읽기, 쓰기 및 조작을 위한 비동기 채널입니다. (다음에서 상속됨 JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
파일 읽기, 쓰기 및 조작을 위한 비동기 채널입니다. |
확장명 메서드
| Name | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
인스턴스 |
| JavaAs<TResult>(IJavaPeerable) |
형식 |
| JavaCast<TResult>(IJavaObject) |
Android 런타임 확인 형식 변환을 수행합니다. |
| JavaCast<TResult>(IJavaObject) |
파일 읽기, 쓰기 및 조작을 위한 비동기 채널입니다. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
형식 |