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) |
Интерфейс |