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. Существует также средство для восстановления String
данных в измененном формате UTF-8.
Как правило, все подпрограммы чтения в этом интерфейсе, что если конец файла достигнут до того, как нужное число байтов было прочитано, EOFException
создается (это тип IOException
) . Если любой байт не может быть прочитан по какой-либо причине, отличной от конца файла, возникает исключение IOException
EOFException
. В частности, может возникать исключение, IOException
если входной поток был закрыт.
<h3>"modified-utf-8">Modified UTF-8</h3>
Реализации интерфейсов DataInput и DataOutput представляют строки Юникода в формате, который является незначительным изменением UTF-8. (Сведения о стандартном формате UTF-8 см. в разделе 3.9 Формыкодирования Юникода стандарта Юникод, версия 4.0)
<Символы ul><li>в диапазоне '\u005Cu0001'
'\u005Cu007F'
, представленные одним байтом. <li>Null символ '\u005Cu0000'
и символы в диапазоне '\u005Cu0080'
'\u005Cu07FF'
, которые будут представлены парой байтов. <li>Символы в диапазоне '\u005Cu0800'
'\u005CuFFFF'
, которые будут представлены тремя байтами. </ul>
<table class="plain" style="margin-left:2em;"><>Заголовок Кодировка значений< 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">Bit Values</th></tr tr>><<-- Value ---- Byte --<><>th scope="col" style="width:3em"> 7 </th><th scope="col" style="width:3em"> 6 </th><th scope="col" style="width:3em"> 5 /th<>th scope="col" style="width:3em" 4 </><th th scope="col" style="width:3em"> 3 </<>th th scope="col"> style="width:3em"> 2 </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" to \u005Cu007F
</><th th scope="row">\u005Cu0001
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="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><><-- (значение) --<>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" to \u005CuFFFF
</><th th scope="row">\u005Cu0800
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<<>>-- (value) --<>th scope="row" style="font-weight:normal; text-align:center"> 2 </th<>td style="text-align:center">1 <td style="text-align:center"td <colspan=">6" style="text-align:right; padding-right:6em">bits 11-6 <</tr><tr><-- (значение) --<>th scope="row" style="font-weight:normal; text-align:center"> 3 </th><td style="text-align:center>"1 <td style="text-align:center">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. <li>Используются только 1-байтовые, 2-байтовые и 3-байтовые форматы. <li>Дополнительные символы представлены в виде суррогатных пар. </ul>
Добавлено в версии 1.0.
Документация по Java для java.io.DataInput
.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.
Свойства
Handle |
Возвращает значение JNI базового объекта Android. (Унаследовано от IJavaObject) |
JniIdentityHashCode |
Возвращает значение |
JniManagedPeerState |
Состояние управляемого однорангового узла. (Унаследовано от IJavaPeerable) |
JniPeerMembers |
Поддержка доступа к членам и вызовов. (Унаследовано от IJavaPeerable) |
PeerReference |
JniObjectReference Возвращает экземпляр объекта Java в оболочке. (Унаследовано от IJavaPeerable) |
Методы
Disposed() |
Вызывается при удалении экземпляра. (Унаследовано от IJavaPeerable) |
DisposeUnlessReferenced() |
Если нет невыполненных ссылок на этот экземпляр, то вызывается |
Finalized() |
Вызывается при завершении экземпляра. (Унаследовано от IJavaPeerable) |
ReadBoolean() |
Считывает один входной байт и возвращает |
ReadByte() |
Считывает и возвращает один входной байт. |
ReadChar() |
Считывает два входных байта и возвращает |
ReadDouble() |
Считывает восемь входных байтов и возвращает |
ReadFloat() |
Считывает четыре входных байта и возвращает |
ReadFully(Byte[]) |
Считывает некоторые байты из входного потока и сохраняет их в буферном массиве |
ReadFully(Byte[], Int32, Int32) |
Считывает |
ReadInt() |
Считывает четыре входных байта и возвращает |
ReadLine() |
Считывает следующую строку текста из входного потока. |
ReadLong() |
Считывает восемь входных байтов и возвращает |
ReadShort() |
Считывает два входных байта и возвращает |
ReadUnsignedByte() |
Считывает один входной байт, ноль расширяет его на тип |
ReadUnsignedShort() |
Считывает два входных байта и возвращает |
ReadUTF() |
Считывает строку, закодированную с помощью измененного формата UTF-8. |
SetJniIdentityHashCode(Int32) |
Задайте значение, возвращаемое |
SetJniManagedPeerState(JniManagedPeerStates) |
Интерфейс |
SetPeerReference(JniObjectReference) |
Задайте значение, возвращаемое |
SkipBytes(Int32) |
Делает попытку пропускать |
UnregisterFromRuntime() |
Отмените регистрацию этого экземпляра, чтобы среда выполнения не возвращала ее из будущих Java.Interop.JniRuntime+JniValueManager.PeekValue вызовов. (Унаследовано от IJavaPeerable) |
Методы расширения
JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверяемого средой выполнения Android. |
JavaCast<TResult>(IJavaObject) |
Интерфейс |
GetJniTypeName(IJavaPeerable) |
Интерфейс |
ReadBooleanAsync(IDataInput) |
Интерфейс |
ReadByteAsync(IDataInput) |
Интерфейс |
ReadCharAsync(IDataInput) |
Интерфейс |
ReadDoubleAsync(IDataInput) |
Интерфейс |
ReadFloatAsync(IDataInput) |
Интерфейс |
ReadFullyAsync(IDataInput, Byte[]) |
Интерфейс |
ReadFullyAsync(IDataInput, Byte[], Int32, Int32) |
Интерфейс |
ReadIntAsync(IDataInput) |
Интерфейс |
ReadLineAsync(IDataInput) |
Интерфейс |
ReadLongAsync(IDataInput) |
Интерфейс |
ReadShortAsync(IDataInput) |
Интерфейс |
ReadUnsignedByteAsync(IDataInput) |
Интерфейс |
ReadUnsignedShortAsync(IDataInput) |
Интерфейс |
ReadUTFAsync(IDataInput) |
Интерфейс |
SkipBytesAsync(IDataInput, Int32) |
Интерфейс |