鴻蒙OS ReliableFileDescriptor

2022-04-27 16:21 更新

ReliableFileDescriptor

java.lang.Object

|---ohos.rpc.ReliableFileDescriptor

public class ReliableFileDescriptor
extends Object

包裝可以從多個(gè)線程訪問的可靠 FileDescriptor。

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

嵌套類摘要

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

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

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

方法總結(jié)

修飾符和類型 方法 描述
void close() 關(guān)閉此 ReliableFileDescriptor 對(duì)象。
static ReliableFileDescriptor[] createPipe2() 創(chuàng)建兩個(gè) ReliableFileDescriptor 對(duì)象的數(shù)組。
static ReliableFileDescriptor[] createReliablePipe() 創(chuàng)建兩個(gè) ReliableFileDescriptor 對(duì)象的數(shù)組,每個(gè)對(duì)象都包含一個(gè)套接字文件描述符。
static ReliableFileDescriptor dupFromSocket(Socket socket) 通過復(fù)制指定套接字的文件描述符來創(chuàng)建 ReliableFileDescriptor。
FileDescriptor getFileDescriptor() 獲取包裝在此可靠文件描述符中的文件描述符。
long getFileTotalSize() 獲取與此文件描述符匹配的文件的大小。
int getNativeFd() 獲取包裝在此 ReliableFileDescriptor 中的本機(jī)文件描述符。
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 實(shí)例的構(gòu)造函數(shù)。

參數(shù):

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

ReliableFileDescriptor

public ReliableFileDescriptor(FileDescriptor fd, FileDescriptor commonFd)

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

參數(shù):

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

方法詳情

getFileDescriptor

public FileDescriptor getFileDescriptor()

獲取包裝在此 ReliableFileDescriptor 中的 FileDescriptor。

返回:

返回包裝在此 ReliableFileDescriptor 中的 FileDescriptor。

getNativeFd

public int getNativeFd()

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

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

返回:

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

createPipe2

public static ReliableFileDescriptor[] createPipe2() throws OsHelperErrnoException

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

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

返回:

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

Throws:

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

createReliablePipe

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

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

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

返回:

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

Throws:

Throw名稱 Throw描述
OsHelperErrnoException 如果數(shù)組創(chuàng)建失敗,則拋出此異常。
IOException 如果用于操作數(shù)據(jù)管道的套接字對(duì)創(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 對(duì)象。

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)