語言

IDataInput 介面

定義

介面DataInput允許從二進位串流讀取位元組,並從中重建任何 Java 原始型態的資料。

[Android.Runtime.Register("java/io/DataInput", "", "Java.IO.IDataInputInvoker")]
public interface IDataInput : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("java/io/DataInput", "", "Java.IO.IDataInputInvoker")>]
type IDataInput = interface
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
衍生
屬性
實作

備註

介面DataInput允許從二進位串流讀取位元組,並從中重建任何 Java 原始型態的資料。 此外,還有一個功能可以以修改版 UTF-8 格式重建 a String from data。

此介面中所有讀取例程通常成立,若在讀取所需位元組數前就已到達檔案結束,會拋出一個EOFException(這是一種 )。IOException 如果任何位元組因除檔案結束外無法讀取,則 IOException 拋出 Other Than EOFException 的位元組。 特別地,若輸入串流已被封閉,可能會拋出 a IOException

<h3>“modified-utf-8”> 修改版 UTF-8</h3>

DataInput 與 DataOutput 介面的實作以 UTF-8 略有修改的格式表示 Unicode 字串。 (有關標準 UTF-8 格式的資訊,請參見第 3.9 節 Unicode 標準4.0 版的 Unicode 編碼形式)

<ul><li>在 的'\u005Cu007F'範圍內'\u005Cu0001'的字元以一個位元組表示。 <li>空字元'\u005Cu0000'和 在 的'\u005Cu07FF'範圍內'\u005Cu0080'的字元由一對位元組表示。 <li>範圍內的字元'\u005Cu0800''\u005CuFFFF'以三個位元組表示。 </ul>

<table class=“plain” style=“margin-left:2em;”><caption UTF-8 值<的編碼/caption<>thead<>tr><th scope=“col” rowspan=“2”>Value</th<>th scope = “col” rowspan=“2”>Byte</th><th scope = “col” colspan=“8” id=“bit_a”> 位元組< 值/th<>/tr<>tr<>-- Value --><-- 位元組 --<>th scope=“col” style=“width:3em” <> 7 /th<>scope =“col” style=“width:3em”><6 /th><>th scope =「col」 style=「width:3em」> 5 /th><scope =「col」 style=「width:3em」> 4 </th><th scope=「col」 style=「width:3em」> 3 </th><scope =「col」 style=「width:3em」 2 </th<>scope =「col」 style=「width:3em」> 1 /th th scope=「col」 style=「width:3em」> 1 </th><th scope=「col」 style=「width:3em」> 0 </th/thead<>>< tbody><tr<>th scope =「row」 style=「text-align:<左;font-weight:normal“>\u005Cu0001 to \u005Cu007F</th<>th scope=”row“ style=”font-weight:normal; text-align:center“> 1 </th><td style=”text-align:center“<>0 td colspan=”7“ style=”text-align:right; padding-right:6em“>bits 6-0 </tr><tr<>th scope=”row“ rowspan=”2“ style=”text-align:left; font-weight:normal“\u005Cu0000>,<br>\u005Cu0080 to<\u005Cu07FF /th><th scope=”row“ style=”row“ style=”font-weight:正常;text-align:center“> 1 /th><TD style=”text-align:center“>1 <td style=”text-align:center“1 <td style=”text-align:center“><>0 td colspan=”5“ style=”text-align:right; padding-right:6em“>位元 10-6 </tr><tr<>-- (value) --<>th scope=”row“ style=”font-weight:normal;text-align:center“> 2 </th><td style=”text-align:center“<>1 TD 樣式=”<text-align:center“0 TD colspan=”6“ style=”text-align:right; padding-right:6em“>bits 5-0 </tr<>tr<>th scope=”row“ rowspan=”3“ style=”text-align:left; font-weight:normal“\u005Cu0800> to \u005CuFFFF</th><th scope=”row“ style=”font-weight:normal; text-align:center“> 1 </th<>td style=”text-align:center“1 td style=”text-align:center“<>1 td style=”text-align:center“>1 <td style=”text-align:<>Center“>1 <TD 樣式=”text-align:center“>0 <TD colspan=”4“ style=”text-align:right; padding-right:6em“>bits 15-12 </tr<>tr<>-- (value) --><th scope=”row“ style=”font-weight:normal;text-align:center“> 2 </th><TD style=”text-align:center“>1 <td style=”text-align:center“><0 td colspan=”6“ style=”text-align:right;padding-right:6em“> bits 11-6</tr><TR><-- (value) --<>th scope=“row” style=“font-weight:normal; text-align:center”> 3 </th><TD style=“text-align:center”>1 <td style=“text-align:center”>0 <TD Colspan=“6” style=“text-align:right; padding-right:6em”> bits 5-0 </tr></tbody></table>

此格式與標準 UTF-8 格式的差異如下:<ul<>li>空位元組'\u005Cu0000'以 2 位元組格式編碼,而非 1 位元組,因此編碼字串中不會嵌入空。 < >僅使用1位元組、2位元組及3位元組格式。 <li>補充角色以替代對的形式表示。 </ul>

1.0 版本新增。

Java 文件 java.io.DataInput

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

屬性

名稱 Description
Handle

取得底層 Android 物件的 JNI 值。

(繼承來源 IJavaObject)
JniIdentityHashCode

回傳包裹實例的 java.lang.System.identityHashCode() 值。

(繼承來源 IJavaPeerable)
JniManagedPeerState

管理貴族的狀況。

(繼承來源 IJavaPeerable)
JniObjectReferenceControlBlock

介面DataInput允許從二進位串流讀取位元組,並從中重建任何 Java 原始型態的資料。

(繼承來源 IJavaPeerable)
JniPeerMembers

成員存取與召喚支援。

(繼承來源 IJavaPeerable)
PeerReference

回傳JniObjectReference包裹後的 Java 物件實例。

(繼承來源 IJavaPeerable)

方法

名稱 Description
Disposed()

當實例被處理後才被召喚。

(繼承來源 IJavaPeerable)
DisposeUnlessReferenced()

如果沒有未解決的參考資料,則 Dispose()呼叫;否則,則不做任何事。

(繼承來源 IJavaPeerable)
Finalized()

當實例完成後才會被通知。

(繼承來源 IJavaPeerable)
ReadBoolean()

讀取一個輸入位元組,若該位元組非零false,則回傳true該位元組。

ReadByte()

讀取並回傳一個輸入位元組。

ReadChar()

讀取兩個輸入位元組並回傳一個 char 值。

ReadDouble()

讀取八個輸入位元組並回傳一個 double 值。

ReadFloat()

讀取四個輸入位元組並回傳一個 float 值。

ReadFully(Byte[], Int32, Int32)

從輸入串流讀取 len 位元組。

ReadFully(Byte[])

從輸入串流讀取部分位元組並儲存到緩衝陣列 b中。

ReadInt()

讀取四個輸入位元組並回傳一個 int 值。

ReadLine()

讀取輸入串流中的下一行文字。

ReadLong()

讀取八個輸入位元組並回傳一個 long 值。

ReadShort()

讀取兩個輸入位元組並回傳一個 short 值。

ReadUnsignedByte()

讀取一個輸入位元組,零擴展為型別 int,並回傳結果,因此在 範圍內 0 通過 255

ReadUnsignedShort()

讀取兩個輸入位元組,並回傳int範圍內0的值。65535

ReadUTF()

讀取已編碼為修改過的 UTF-8 格式的字串。

SetJniIdentityHashCode(Int32)

將回傳的值設為 JniIdentityHashCode

(繼承來源 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

介面DataInput允許從二進位串流讀取位元組,並從中重建任何 Java 原始型態的資料。

(繼承來源 IJavaPeerable)
SetPeerReference(JniObjectReference)

將回傳的值設為 PeerReference

(繼承來源 IJavaPeerable)
SkipBytes(Int32)

嘗試跳過 n 輸入串流中的位元組,丟棄跳過的位元組。

UnregisterFromRuntime()

取消註冊此實例,讓執行時不會在未來 Java.Interop.JniRuntime+JniValueManager.PeekValue 的呼叫中回傳該實例。

(繼承來源 IJavaPeerable)

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

介面DataInput允許從二進位串流讀取位元組,並從中重建任何 Java 原始型態的資料。

ReadBooleanAsync(IDataInput)

介面DataInput允許從二進位串流讀取位元組,並從中重建任何 Java 原始型態的資料。

ReadByteAsync(IDataInput)

介面DataInput允許從二進位串流讀取位元組,並從中重建任何 Java 原始型態的資料。

ReadCharAsync(IDataInput)

介面DataInput允許從二進位串流讀取位元組,並從中重建任何 Java 原始型態的資料。

ReadDoubleAsync(IDataInput)

介面DataInput允許從二進位串流讀取位元組,並從中重建任何 Java 原始型態的資料。

ReadFloatAsync(IDataInput)

介面DataInput允許從二進位串流讀取位元組,並從中重建任何 Java 原始型態的資料。

ReadFullyAsync(IDataInput, Byte[], Int32, Int32)

介面DataInput允許從二進位串流讀取位元組,並從中重建任何 Java 原始型態的資料。

ReadFullyAsync(IDataInput, Byte[])

介面DataInput允許從二進位串流讀取位元組,並從中重建任何 Java 原始型態的資料。

ReadIntAsync(IDataInput)

介面DataInput允許從二進位串流讀取位元組,並從中重建任何 Java 原始型態的資料。

ReadLineAsync(IDataInput)

介面DataInput允許從二進位串流讀取位元組,並從中重建任何 Java 原始型態的資料。

ReadLongAsync(IDataInput)

介面DataInput允許從二進位串流讀取位元組,並從中重建任何 Java 原始型態的資料。

ReadShortAsync(IDataInput)

介面DataInput允許從二進位串流讀取位元組,並從中重建任何 Java 原始型態的資料。

ReadUnsignedByteAsync(IDataInput)

介面DataInput允許從二進位串流讀取位元組,並從中重建任何 Java 原始型態的資料。

ReadUnsignedShortAsync(IDataInput)

介面DataInput允許從二進位串流讀取位元組,並從中重建任何 Java 原始型態的資料。

ReadUTFAsync(IDataInput)

介面DataInput允許從二進位串流讀取位元組,並從中重建任何 Java 原始型態的資料。

SkipBytesAsync(IDataInput, Int32)

介面DataInput允許從二進位串流讀取位元組,並從中重建任何 Java 原始型態的資料。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於