鴻蒙OS ReliableFileDescriptor

2022-04-27 16:21 更新

ReliableFileDescriptor

java.lang.Object

|---ohos.rpc.ReliableFileDescriptor

public class ReliableFileDescriptor
extends Object

包裝可以從多個線程訪問的可靠 FileDescriptor。

此類提供用于創(chuàng)建可靠數(shù)據(jù)管道和獲取包裝的 FileDescriptor 或本機文件描述符的方法。

嵌套類摘要

修飾符和類型 描述
static class ReliableFileDescriptor.AutoCloseFileInputStream 表示一個文件輸入流,其文件描述符在此流關(guān)閉時自動關(guān)閉。
static class ReliableFileDescriptor.AutoCloseFileOutputStream 表示一個文件輸出流,其文件描述符在此流關(guān)閉時自動關(guān)閉。

構(gòu)造函數(shù)摘要

構(gòu)造函數(shù) 描述
ReliableFileDescriptor(FileDescriptor fd) 用于創(chuàng)建具有指定 FileDescriptor 的 ReliableFileDescriptor 實例的構(gòu)造函數(shù)。
ReliableFileDescriptor(FileDescriptor fd, FileDescriptor commonFd) 用于創(chuàng)建具有指定 FileDescriptor 和用于檢查文件狀態(tài)的文件描述符的 ReliableFileDescriptor 實例的構(gòu)造函數(shù)。

方法總結(jié)

修飾符和類型 方法 描述
void close() 關(guān)閉此 ReliableFileDescriptor 對象。
static ReliableFileDescriptor[] createPipe2() 創(chuàng)建兩個 ReliableFileDescriptor 對象的數(shù)組。
static ReliableFileDescriptor[] createReliablePipe() 創(chuàng)建兩個 ReliableFileDescriptor 對象的數(shù)組,每個對象都包含一個套接字文件描述符。
static ReliableFileDescriptor dupFromSocket(Socket socket) 通過復(fù)制指定套接字的文件描述符來創(chuàng)建 ReliableFileDescriptor。
FileDescriptor getFileDescriptor() 獲取包裝在此可靠文件描述符中的文件描述符。
long getFileTotalSize() 獲取與此文件描述符匹配的文件的大小。
int getNativeFd() 獲取包裝在此 ReliableFileDescriptor 中的本機文件描述符。
static ReliableFileDescriptor takeChargeOfFileDescriptor(int fd) 通過復(fù)制現(xiàn)有文件描述符創(chuàng)建 ReliableFileDescriptor。
從類 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

構(gòu)造函數(shù)詳細(xì)信息

ReliableFileDescriptor

public ReliableFileDescriptor(FileDescriptor fd)

用于創(chuàng)建具有指定 FileDescriptor 的 ReliableFileDescriptor 實例的構(gòu)造函數(shù)。

參數(shù):

參數(shù)名稱 參數(shù)描述
fd 指示要包裝在 ReliableFileDescriptor 實例中的 FileDescriptor。

ReliableFileDescriptor

public ReliableFileDescriptor(FileDescriptor fd, FileDescriptor commonFd)

用于創(chuàng)建具有指定 FileDescriptor 和用于檢查文件狀態(tài)的文件描述符的 ReliableFileDescriptor 實例的構(gòu)造函數(shù)。

參數(shù):

參數(shù)名稱 參數(shù)描述
fd 指示要包裝在 ReliableFileDescriptor 實例中的 FileDescriptor。
commonFd 指示用于檢查文件是否關(guān)閉的文件描述符。

方法詳情

getFileDescriptor

public FileDescriptor getFileDescriptor()

獲取包裝在此 ReliableFileDescriptor 中的 FileDescriptor。

返回:

返回包裝在此 ReliableFileDescriptor 中的 FileDescriptor。

getNativeFd

public int getNativeFd()

獲取包裝在此 ReliableFileDescriptor 中的本機文件描述符。

這個 ReliableFileDescriptor 仍然擁有文件描述符,它必須通過這個 ReliableFileDescriptor 關(guān)閉。

返回:

返回包裝在此 ReliableFileDescriptor 中的本機文件描述符。 不要使用返回值來關(guān)閉文件描述符或?qū)⒎祷刂祩鬟f給任何假定文件描述符所有權(quán)的方法。 否則,文件描述符將被反復(fù)關(guān)閉。

createPipe2

public static ReliableFileDescriptor[] createPipe2() throws OsHelperErrnoException

創(chuàng)建兩個 ReliableFileDescriptor 對象的數(shù)組。

該數(shù)組用作數(shù)據(jù)管道。 這兩個對象之一用于讀取數(shù)據(jù),另一個用于寫入數(shù)據(jù)。

返回:

返回創(chuàng)建的數(shù)組。

Throws:

Throw名稱 Throw描述
OsHelperErrnoException 如果數(shù)組創(chuàng)建失敗,則拋出此異常。

createReliablePipe

public static ReliableFileDescriptor[] createReliablePipe() throws IOException, OsHelperErrnoException

創(chuàng)建兩個 ReliableFileDescriptor 對象的數(shù)組,每個對象都包含一個套接字文件描述符。

該數(shù)組用作數(shù)據(jù)管道。 這兩個對象之一用于讀取數(shù)據(jù),另一個用于寫入數(shù)據(jù)。

返回:

返回創(chuàng)建的數(shù)組。

Throws:

Throw名稱 Throw描述
OsHelperErrnoException 如果數(shù)組創(chuàng)建失敗,則拋出此異常。
IOException 如果用于操作數(shù)據(jù)管道的套接字對創(chuàng)建失敗,則拋出此異常。

takeChargeOfFileDescriptor

public static ReliableFileDescriptor takeChargeOfFileDescriptor(int fd) throws IOException, OsHelperErrnoException

通過復(fù)制現(xiàn)有文件描述符創(chuàng)建 ReliableFileDescriptor。

創(chuàng)建 ReliableFileDescriptor 后,您必須關(guān)閉它和現(xiàn)有的文件描述符。

參數(shù):

參數(shù)名稱 參數(shù)描述
fd 指示現(xiàn)有文件描述符。

返回:

返回創(chuàng)建的 ReliableFileDescriptor。

Throws:

Throw名稱 Throw描述
OsHelperErrnoException 如果操作文件描述符失敗,則拋出此異常。
IOException 如果 ReliableFileDescriptor 創(chuàng)建失敗,則拋出此異常。

dupFromSocket

public static ReliableFileDescriptor dupFromSocket(Socket socket) throws IOException, OsHelperErrnoException

通過復(fù)制指定套接字的文件描述符來創(chuàng)建 ReliableFileDescriptor。

創(chuàng)建 ReliableFileDescriptor 后,您必須關(guān)閉它和套接字。

參數(shù):

參數(shù)名稱 參數(shù)描述
socket 表示指定的套接字。

返回:

返回創(chuàng)建的 ReliableFileDescriptor。

Throws:

Throw名稱 Throw描述
OsHelperErrnoException 如果操作文件描述符失敗,則拋出此異常。
IOException 如果 ReliableFileDescriptor 創(chuàng)建失敗,則拋出此異常。

getFileTotalSize

public long getFileTotalSize()

獲取與此文件描述符匹配的文件的大小。

返回:

返回匹配此文件描述符的文件大??; 如果此文件描述符與文件不匹配,則返回 -1,例如,文件描述符是通過 Socket 或 Pipe 獲得的 ReliableFileDescriptor。

close

public void close()

關(guān)閉此 ReliableFileDescriptor 對象。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號