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 格式从数据重新构造 String 数据。

此接口中的所有读取例程通常都是如此,如果在读取所需的字节数之前达到文件的末尾,则会引发一EOFException种(即一种)。IOException 如果因文件结束以外的任何原因无法读取任何字节,则引发其他字节IOExceptionEOFException。 具体而言,如果输入流已关闭,可能会引发该 IOException 事件。

<h3>“modified-utf-8”>Modified UTF-8</h3>

DataInput 和 DataOutput 接口的实现以略微修改 UTF-8 的格式表示 Unicode 字符串。 (有关标准 UTF-8 格式的信息,请参阅 Unicode 标准版本 4.0 的第 3.9 部分 Unicode 编码形式

<要由单个字节表示的范围'\u005Cu0001''\u005Cu007F'中的 ul><li>Characters。 <li>要由一对字节表示的范围'\u005Cu0080''\u005Cu07FF'中的 null 字符'\u005Cu0000'和字符。 <要表示的范围'\u005Cu0800''\u005CuFFFF'中的 li>字符由三个字节表示。 </ul>

<table class=“plain” style=“margin-left:2em;”><UTF-8 值/caption<>thead><tr<>th scope=“col” rowspan=“2”>Value</th><scope=“col” rowspan=“2”>Byte</th<>th scope=“col” col“ colspan=”8“ id=”bit_a“>Bit Values</th<>/tr<<>>-- Value ---- Byte --><<>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><scope=“col” style=“width:3em”> 3 </th<>scope=“col” style=“width:3em”> 2 </th<>scope=“col” style=“width:3em”> 1 </th<>scope=“col” style=“width:3em”> 0 </th/thead><tbody><tr<>th<> scope=“row” style=“text-align:<左;font-weight:normal“>\u005Cu0001 to \u005Cu007F</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-align:left; font-weight:normal“\u005Cu0000>,< br>\u005Cu0080 to<\u005Cu07FF /th><scope=”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“>bits 10-6 </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 5-0 </tr<>tr<>th scope=”row“ rowspan=”3“ style=”text-align:left; font-weight:normal“\u005Cu0800> to<\u005CuFFFF /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“>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>null 字节 '\u005Cu0000' 以 2 字节格式而不是 1 字节进行编码,以便编码的字符串永远不会嵌入 null。 <>仅使用 1 字节、2 字节和 3 字节格式。 <li>补充字符以代理项对的形式表示。 </ul>

在 1.0 中添加。

适用于 . 的 java.io.DataInputJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

属性

Handle

获取基础 Android 对象的 JNI 值。

(继承自 IJavaObject)
JniIdentityHashCode

返回包装实例的值 java.lang.System.identityHashCode()

(继承自 IJavaPeerable)
JniManagedPeerState

托管对等方的状态。

(继承自 IJavaPeerable)
JniPeerMembers

成员访问和调用支持。

(继承自 IJavaPeerable)
PeerReference

返回 JniObjectReference 包装的 Java 对象实例。

(继承自 IJavaPeerable)

方法

Disposed()

在释放实例时调用。

(继承自 IJavaPeerable)
DisposeUnlessReferenced()

如果没有对此实例的未完成引用,则调用 Dispose();否则不执行任何操作。

(继承自 IJavaPeerable)
Finalized()

在实例完成时调用。

(继承自 IJavaPeerable)
ReadBoolean()

读取一个输入字节,如果字节为零,false则返回true该字节是否为非零。

ReadByte()

读取并返回一个输入字节。

ReadChar()

读取两个输入字节并返回一个 char 值。

ReadDouble()

读取八个输入字节并返回一个 double 值。

ReadFloat()

读取四个输入字节并返回一个 float 值。

ReadFully(Byte[])

从输入流中读取一些字节并将其存储到缓冲区数组 b中。

ReadFully(Byte[], Int32, Int32)

len从输入流读取字节。

ReadInt()

读取四个输入字节并返回一个 int 值。

ReadLine()

从输入流中读取下一行文本。

ReadLong()

读取八个输入字节并返回一个 long 值。

ReadShort()

读取两个输入字节并返回一个 short 值。

ReadUnsignedByte()

读取一个输入字节,零将其扩展到类型 int,并返回结果,因此在范围中 0 通过 255

ReadUnsignedShort()

读取两个输入字节,并在范围内0返回一个int65535

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)

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

DataInput 接口提供从二进制流读取字节,并从其中任何 Java 基元类型中的数据重新构造字节。

GetJniTypeName(IJavaPeerable)

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[])

DataInput 接口提供从二进制流读取字节,并从其中任何 Java 基元类型中的数据重新构造字节。

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

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 基元类型中的数据重新构造字节。

适用于