Spec-Zone .ru
спецификации, руководства, описания, API
|
public class ObjectInputStream extends InputStream implements ObjectInput, ObjectStreamConstants
ObjectOutputStream и ObjectInputStream могут предоставить приложению персистентное хранение для графиков объектов когда использующийся с FileOutputStream и FileInputStream соответственно. ObjectInputStream используется, чтобы восстановить те объекты, ранее сериализированные. Другое использование включает объекты передачи между узлами, используя поток сокета или для маршалинга и неупорядочивая параметры и параметры в удаленной системе связи.
ObjectInputStream гарантирует, что типы всех объектов в графике, создаваемом из потока, соответствуют классы, существующие в виртуальной машине Java. Классы загружаются, как требуется используя стандартные механизмы.
Только объекты, которые поддерживают java.io. Сериализуемый или java.io. Интерфейс Externalizable может быть считан из потоков.
Метод readObject
используется, чтобы считать объект из потока. Безопасный кастинг Java должен использоваться, чтобы получить требуемый тип. В Java строки и массивы являются объектами и обрабатываются как объекты во время сериализации. Когда считано они должны быть брошены к ожидаемому типу.
Примитивные типы данных могут быть считаны из потока, используя соответствующий метод на DataInput.
Механизм десериализации по умолчанию для объектов восстанавливает содержание каждого поля к значению, и введите это, имел, когда это было записано. Поля, объявленные как переходный процесс или статичный, игнорируются процессом десериализации. Ссылки на другие объекты заставляют те объекты быть считанными из потока по мере необходимости. Графики объектов восстанавливаются, правильно используя ссылочный механизм разделения доступа. Новые объекты всегда выделяются, десериализовывая, который препятствует существующим объектам быть перезаписанным.
Чтение объекта походит на выполнение конструкторов нового объекта. Память выделяется для объекта и инициализируется, чтобы обнулить (НУЛЬ). Конструкторы без аргументов вызываются для несериализуемых классов, и затем поля сериализуемых классов восстанавливаются от потока, запускающегося с сериализуемого класса, самого близкого к java.lang.object и заканчивающегося с самым определенным классом объекта.
Например читать из потока как записано примером в ObjectOutputStream:
FileInputStream fis = new FileInputStream("t.tmp"); ObjectInputStream ois = new ObjectInputStream(fis); int i = ois.readInt(); String today = (String) ois.readObject(); Date date = (Date) ois.readObject(); ois.close();
Классы управляют, как они сериализируются, реализовывая любого java.io. Сериализуемый или java.io. Интерфейсы Externalizable.
Реализация Сериализуемого интерфейса позволяет объектной сериализации сохранять и восстанавливать все состояние объекта, и это позволяет классам развиваться между временем, которое поток пишется и время, это читается. Это автоматически пересекает ссылки между объектами, сохраняя и восстанавливая все графики.
Сериализуемые классы, которые требуют специальной обработки во время сериализации и процесса десериализации, должны реализовать следующие методы:
private void writeObject(java.io.ObjectOutputStream stream) throws IOException; private void readObject(java.io.ObjectInputStream stream) throws IOException, ClassNotFoundException; private void readObjectNoData() throws ObjectStreamException;
readObject метод ответственен за чтение и восстановление состояния объекта для его определенного класса, используя данные, записанные потоку соответствующим writeObject методом. Метод не должен интересоваться состоянием, принадлежащим его суперклассам или подклассам. Государство восстанавливается, читая данные из ObjectInputStream для отдельных полей и делая присвоения на соответствующие поля объекта. Чтение примитивных типов данных поддерживается DataInput.
Любая попытка считать объектные данные, которые превышают границы пользовательских данных, записанных соответствующим writeObject методом, заставит OptionalDataException быть брошенным с eof значением поля истины. Необъектные чтения, которые превышают конец выделенных данных, отразят конец данных таким же образом, что они указали бы на конец потока: чтения bytewise возвратятся-1 как побайтовое чтение или число чтения байтов, и примитивные чтения бросят EOFExceptions. Если нет никакого соответствующего writeObject метода, то конец значения по умолчанию сериализированные данные отмечает конец выделенных данных.
Примитивные и объектные приказы чтения, изданные изнутри readExternal метода, ведут себя тем же самым способом - если поток будет уже расположен в конце данных, записанных соответствующим writeExternal методом, то объектные чтения бросят OptionalDataExceptions с набором eof к истине, bytewise чтения возвратится-1, и примитивные чтения бросят EOFExceptions. Отметьте, что это поведение не содержит для потоков, записанных со старым ObjectStreamConstants.PROTOCOL_VERSION_1
протокол, в котором конец данных, записанных writeExternal методами, не разграничивается, и следовательно не может быть обнаружен.
readObjectNoData метод ответственен за инициализацию состояния объекта для его определенного класса, когда поток сериализации не перечисляет данный класс как суперкласс десериализовываемого объекта. Это может произойти в случаях, где принимающая сторона использует различную версию класса десериализованного экземпляра чем передающая сторона, и версия получателя расширяет классы, которые не расширяются версией отправителя. Это может также произойти, если поток сериализации вмешался; следовательно, readObjectNoData полезен для инициализации десериализованных объектов должным образом несмотря на "враждебный" или неполный исходный поток.
Сериализация не читает или присваивает значения полям любого объекта, который не реализует java.io. Сериализуемый интерфейс. Подклассы Объектов, которые не сериализуемы, могут быть сериализуемыми. В этом случае у несериализуемого класса должен быть конструктор без аргументов, чтобы позволить его полям быть инициализированными. В этом случае это - обязанность подкласса сохранить и восстановить состояние несериализуемого класса. Это часто имеет место, что поля того класса доступны (общественность, пакет, или защищенный) или что есть, получают и устанавливают методы, которые могут использоваться, чтобы восстановить состояние.
Любое исключение, которое происходит, десериализовывая объект, будет поймано ObjectInputStream и прервет процесс считывания.
Реализация интерфейса Externalizable позволяет объекту принять полный контроль над содержанием и форматом сериализированной формы объекта. Методы интерфейса Externalizable, writeExternal и readExternal, вызывают, чтобы сохранить и восстановить состояние объектов. Когда реализовано классом они могут записать и считать свое собственное состояние, используя все методы ObjectOutput и ObjectInput. Это - ответственность объектов обработать любое управление версиями, которое происходит.
Перечислимые константы десериализовываются по-другому чем обычный сериализуемый или объекты externalizable. Сериализированная форма перечислимой константы состоит исключительно из ее имени; значения полей константы не передаются. Чтобы десериализовать перечислимую константу, ObjectInputStream читает постоянное имя из потока; десериализованная константа тогда получается, вызывая статический метод Enum.valueOf(Class, String)
с базовым типом перечислимой константы и полученным постоянным именем как параметры. Как другое сериализуемое или объекты externalizable, перечислимые константы могут функционировать как цели обратных ссылок, появляющихся впоследствии в потоке сериализации. Процесс, которым десериализовываются перечислимые константы, не может быть настроен: любой специфичный для класса readObject, readObjectNoData, и readResolve методы, определенные перечислимыми типами, игнорируются во время десериализации. Точно так же любой serialPersistentFields или serialVersionUID полевые объявления также игнорируются - у всех перечислимых типов есть фиксированный serialVersionUID 0L.
DataInput
, ObjectOutputStream
, Serializable
, Объектная Спецификация Сериализации, Раздел 3, Объектные Входные КлассыМодификатор и Тип | Класс и Описание |
---|---|
static class |
ObjectInputStream. GetField
Обеспечьте доступ к персистентным полям, считанным из входного потока.
|
baseWireHandle, PROTOCOL_VERSION_1, PROTOCOL_VERSION_2, SC_BLOCK_DATA, SC_ENUM, SC_EXTERNALIZABLE, SC_SERIALIZABLE, SC_WRITE_METHOD, STREAM_MAGIC, STREAM_VERSION, SUBCLASS_IMPLEMENTATION_PERMISSION, SUBSTITUTION_PERMISSION, TC_ARRAY, TC_BASE, TC_BLOCKDATA, TC_BLOCKDATALONG, TC_CLASS, TC_CLASSDESC, TC_ENDBLOCKDATA, TC_ENUM, TC_EXCEPTION, TC_LONGSTRING, TC_MAX, TC_NULL, TC_OBJECT, TC_PROXYCLASSDESC, TC_REFERENCE, TC_RESET, TC_STRING
Модификатор | Конструктор и Описание |
---|---|
protected |
ObjectInputStream()
Обеспечьте путь к подклассам, которые полностью повторно реализуют ObjectInputStream, чтобы не должными быть выделить частные данные, только используемые этой реализацией ObjectInputStream.
|
|
ObjectInputStream(InputStream in)
Создает ObjectInputStream, который читает из указанного InputStream.
|
Модификатор и Тип | Метод и Описание |
---|---|
int |
available()
Возвращает число байтов, которые могут быть считаны без блокирования.
|
void |
close()
Закрывает входной поток.
|
void |
defaultReadObject()
Считайте нестатические и непереходные поля текущего класса от этого потока.
|
protected boolean |
enableResolveObject(boolean enable)
Позвольте потоку позволить объектам, считанным из потока быть замененными.
|
int |
read()
Читает байт данных.
|
int |
read(byte[] buf, int off, int len)
Чтения в массив байтов.
|
boolean |
readBoolean()
Чтения в булевской переменной.
|
byte |
readByte()
Читает байт на 8 битов.
|
char |
readChar()
Читает случайную работу на 16 битов.
|
protected ObjectStreamClass |
readClassDescriptor()
Считайте дескриптор класса из потока сериализации.
|
double |
readDouble()
Читает двойные 64 бита.
|
ObjectInputStream. GetField |
readFields()
Читает персистентные поля из потока и делает их доступными по имени.
|
float |
readFloat()
Читает плавание на 32 бита.
|
void |
readFully(byte[] buf)
Читаются байты чтений, блокируя до всех байтов.
|
void |
readFully(byte[] buf, int off, int len)
Читаются байты чтений, блокируя до всех байтов.
|
int |
readInt()
Читает интервал на 32 бита.
|
Строка |
readLine()
Осуждаемый.
Этот метод должным образом не преобразовывает байты в символы. см. DataInputStream для деталей и альтернатив.
|
long |
readLong()
Читает 64 бита длиной.
|
Объект |
readObject()
Считайте объект из ObjectInputStream.
|
protected Object |
readObjectOverride()
Этот метод вызывают доверяемые подклассы ObjectOutputStream, который создал ObjectOutputStream, используя защищенного конструктора без аргументов.
|
short |
readShort()
Читает коротких 16 битов.
|
protected void |
readStreamHeader()
readStreamHeader метод обеспечивается, чтобы позволить подклассам читать и проверять свои собственные потоковые заголовки.
|
Объект |
readUnshared()
Читает "неразделенный" объект из ObjectInputStream.
|
int |
readUnsignedByte()
Читает байт на 8 битов без знака.
|
int |
readUnsignedShort()
Читает коротких 16 битов без знака.
|
Строка |
readUTF()
Читает Строку в измененном формате UTF-8.
|
void |
registerValidation(ObjectInputValidation obj, int prio)
Зарегистрируйте объект, который будет проверен прежде, чем график будет возвращен.
|
protected Class<?> |
resolveClass(ObjectStreamClass desc)
Загрузите локальный класс, эквивалентный из указанного потокового описания класса.
|
protected Object |
resolveObject(Object obj)
Этот метод позволит доверенным подклассам ObjectInputStream заменять одним объектом другого во время десериализации.
|
protected Class<?> |
resolveProxyClass(String[] interfaces)
Возвращает прокси-класс, который реализует интерфейсы, названные в дескрипторе прокси-класса; подклассы могут реализовать этот метод, чтобы считать пользовательские данные из потока наряду с дескрипторами для динамических прокси-классов, позволяя им использовать альтернативный механизм загрузки для интерфейсов и прокси-класса.
|
int |
skipBytes(int len)
Байты пропусков.
|
mark, markSupported, read, reset, skip
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
read, skip
public ObjectInputStream(InputStream in) throws IOException
Если менеджер безопасности будет установлен, то этот конструктор проверит на "enableSubclassImplementation" SerializablePermission когда вызвано прямо или косвенно конструктором подкласса, который переопределяет методы ObjectInputStream.readFields или ObjectInputStream.readUnshared.
in
- входной поток, чтобы читать изStreamCorruptedException
- если потоковый заголовок является неправильнымIOException
- если ошибка ввода-вывода происходит, читая потоковый заголовокSecurityException
- если недоверяемый подкласс незаконно переопределяет чувствительные к безопасности методыNullPointerException
- если in
null
ObjectInputStream()
, readFields()
, ObjectOutputStream.ObjectOutputStream(OutputStream)
protected ObjectInputStream() throws IOException, SecurityException
Если есть установленный менеджер безопасности, этот метод первые вызовы менеджер безопасности checkPermission
метод с SerializablePermission("enableSubclassImplementation")
разрешение, чтобы гарантировать нормально позволять разделить на подклассы.
SecurityException
- если менеджер безопасности существует и checkPermission
метод отрицает позволять разделить на подклассы.IOException
SecurityManager.checkPermission(java.security.Permission)
, SerializablePermission
public final Object readObject() throws IOException, ClassNotFoundException
Корневой объект полностью восстанавливается, когда все его поля и объекты, на которые он ссылается, полностью восстанавливаются. В этой точке объектные обратные вызовы проверки допустимости выполняются в порядке, основанном на их зарегистрированных приоритетах. Обратные вызовы регистрируются объектами (в readObject специальных методах), поскольку они индивидуально восстанавливаются.
Исключения выдаются для проблем с InputStream и для классов, которые не должны быть десериализованы. Все исключения являются фатальными для InputStream и оставляют его в неопределенном состоянии; это до вызывающей стороны, чтобы проигнорировать или восстановить потоковое состояние.
readObject
в интерфейсе ObjectInput
ClassNotFoundException
- Класс сериализированного объекта не может быть найден.InvalidClassException
- Что-то является неправильным с классом, используемым сериализацией.StreamCorruptedException
- Управляющая информация в потоке непоследовательна.OptionalDataException
- Примитивные данные были найдены в потоке вместо объектов.IOException
- Любой обычный Ввод/Вывод связанные исключения.protected Object readObjectOverride() throws IOException, ClassNotFoundException
ClassNotFoundException
- Определение класса сериализированного объекта не может быть найдено.OptionalDataException
- Примитивные данные были найдены в потоке вместо объектов.IOException
- если ошибки ввода-вывода произошли, читая из базового потокаObjectInputStream()
, readObject()
public Object readUnshared() throws IOException, ClassNotFoundException
Подклассы ObjectInputStream, которые переопределяют этот метод, могут только быть созданы в контекстах защиты, обладающих "enableSubclassImplementation" SerializablePermission; любая попытка инстанцировать такого подкласса без этого разрешения заставит SecurityException быть брошенным.
ClassNotFoundException
- если класс объекта десериализовать не может быть найденStreamCorruptedException
- если управляющая информация в потоке непоследовательнаObjectStreamException
- если объект десериализовать уже появился в потокеOptionalDataException
- если примитивные данные являются следующими в потокеIOException
- если ошибка ввода-вывода происходит во время десериализацииpublic void defaultReadObject() throws IOException, ClassNotFoundException
ClassNotFoundException
- если класс сериализированного объекта не мог бы быть найден.IOException
- если ошибка ввода-вывода происходит.NotActiveException
- если поток в настоящий момент не читает объекты.public ObjectInputStream.GetField readFields() throws IOException, ClassNotFoundException
GetField
объект, представляющий персистентные поля десериализовываемого объектаClassNotFoundException
- если класс сериализированного объекта не мог бы быть найден.IOException
- если ошибка ввода-вывода происходит.NotActiveException
- если поток в настоящий момент не читает объекты.public void registerValidation(ObjectInputValidation obj, int prio) throws NotActiveException, InvalidObjectException
obj
- объект получить обратный вызов проверки допустимости.prio
- управляет порядком обратных вызовов; нуль является хорошим значением по умолчанию. Использование более высокие числа, которые будут призваны обратно ранее, понизьте числа для более поздних обратных вызовов. В пределах приоритета обратные вызовы обрабатываются без определенного порядка.NotActiveException
- Поток в настоящий момент не читает объекты, таким образом, это недопустимо, чтобы зарегистрировать обратный вызов.InvalidObjectException
- Объект проверки допустимости является нулем.protected Class<?> resolveClass(ObjectStreamClass desc) throws IOException, ClassNotFoundException
Соответствующий метод в ObjectOutputStream
annotateClass
. Этот метод будет вызван только однажды для каждого уникального класса в потоке. Этот метод может быть реализован подклассами, чтобы использовать альтернативный механизм загрузки, но должен возвратить a Class
объект. После того, как возвращенный, если класс не является классом массива, его serialVersionUID по сравнению с serialVersionUID сериализированного класса, и если есть несоответствие, сбои десериализации и InvalidClassException
бросается.
Реализация по умолчанию этого метода в ObjectInputStream
возвращает результат вызова
Class.forName(desc.getName(), false, loader)где
loader
определяется следующим образом: если есть метод на стеке текущего потока, объявление которого класса было определено определяемым пользователем загрузчиком класса (и не был сгенерированный, чтобы реализовать отражающие вызовы), то loader
загрузчик класса, соответствующий самому близкому такой метод к в настоящий момент выполняющемуся фрейму; иначе, loader
null
. Если этот вызов приводит к a ClassNotFoundException
и имя переданного ObjectStreamClass
экземпляр является ключевым словом языка Java для типа примитива или пусто, тогда Class
объект, представляющий тот тип примитива или пусто, будет возвращен (например, ObjectStreamClass
с именем "int"
будет разрешен к Integer.TYPE
). Иначе, ClassNotFoundException
будет брошен в вызывающую сторону этого метода.desc
- экземпляр класса ObjectStreamClass
Class
объектное соответствие desc
IOException
- любое из обычных исключений Ввода/Вывода.ClassNotFoundException
- если класс сериализированного объекта не может быть найден.protected Class<?> resolveProxyClass(String[] interfaces) throws IOException, ClassNotFoundException
Однажды этот метод вызывают точно для каждого уникального дескриптора прокси-класса в потоке.
Соответствующий метод в ObjectOutputStream
annotateProxyClass
. Для данного подкласса ObjectInputStream
это переопределяет этот метод, annotateProxyClass
метод в соответствующем подклассе ObjectOutputStream
должен записать любые данные или объекты, считанные этим методом.
Реализация по умолчанию этого метода в ObjectInputStream
возвращает результат вызова Proxy.getProxyClass
со списком Class
объекты для интерфейсов, которые называют в interfaces
параметр. Class
объект для каждого интерфейсного имени i
значение, возвращенное, вызывая
Class.forName(i, false, loader)где
loader
тот из первых не -null
загрузчик класса стек выполнения, или null
если не не -null
загрузчики класса находятся на стеке (тот же самый выбор загрузчика класса, используемый resolveClass
метод). Если любой из разрешенных интерфейсов не является непубличным, это то же самое значение loader
также загрузчик класса, к которому передают Proxy.getProxyClass
; если непубличные интерфейсы присутствуют, их загрузчик класса передают вместо этого (если больше чем с одним непубличным интерфейсным загрузчиком класса встречаются, IllegalAccessError
бросается). Если Proxy.getProxyClass
броски IllegalArgumentException
, resolveProxyClass
бросит a ClassNotFoundException
содержа IllegalArgumentException
.interfaces
- список интерфейсных имен, которые были десериализованы в дескрипторе прокси-классаIOException
- любое исключение, выданное базовым InputStream
ClassNotFoundException
- если прокси-класс или какой-либо из именованных интерфейсов не могли бы быть найденыObjectOutputStream.annotateProxyClass(Class)
protected Object resolveObject(Object obj) throws IOException
Этот метод вызывают после того, как объект был считан, но прежде, чем это будет возвращено из readObject. Значение по умолчанию resolveObject метод только возвращает тот же самый объект.
Когда подкласс заменяет объекты, он должен обеспечить, чтобы объект, которым заменяют, был совместимым с каждым полем, где ссылка будет сохранена. Объекты, тип которых не является подклассом типа поля или элемента массива, прерывают сериализацию, повышая исключение, и объект не быть сохраненным.
Этот метод вызывают только однажды, когда с каждым объектом сначала встречаются. Все последующие ссылки на объект будут перенаправлены к новому объекту.
obj
- объект, которым заменятIOException
- Любое из обычных исключений Ввода/Вывода.protected boolean enableResolveObject(boolean enable) throws SecurityException
Если включение является истиной, и есть установленный менеджер безопасности, этот метод первые вызовы менеджер безопасности checkPermission
метод с SerializablePermission("enableSubstitution")
разрешение, чтобы гарантировать нормально позволять потоку позволить объектам, считанным из потока быть замененными.
enable
- истина для того, чтобы включить использованию resolveObject
для каждого десериализовываемого объектаSecurityException
- если менеджер безопасности существует и checkPermission
метод отрицает позволять потоку позволить объектам, считанным из потока быть замененными.SecurityManager.checkPermission(java.security.Permission)
, SerializablePermission
protected void readStreamHeader() throws IOException, StreamCorruptedException
IOException
- если есть ошибки ввода-вывода, читая из базового InputStream
StreamCorruptedException
- если управляющая информация в потоке непоследовательнаprotected ObjectStreamClass readClassDescriptor() throws IOException, ClassNotFoundException
writeClassDescriptor
метод). По умолчанию этот метод читает дескрипторы класса согласно формату, определенному в Объектной спецификации Сериализации.IOException
- Если ошибка ввода-вывода произошла.ClassNotFoundException
- Если Класс сериализированного объекта, используемого в представлении дескриптора класса, не может быть найденObjectOutputStream.writeClassDescriptor(java.io.ObjectStreamClass)
public int read() throws IOException
read
в интерфейсе ObjectInput
read
в классе InputStream
IOException
- Если ошибка ввода-вывода произошла.public int read(byte[] buf, int off, int len) throws IOException
read
в интерфейсе ObjectInput
read
в классе InputStream
buf
- буфер, в который читаются данныеoff
- смещение запуска данныхlen
- максимальное количество байтов читалоIOException
- Если ошибка ввода-вывода произошла.DataInputStream.readFully(byte[],int,int)
public int available() throws IOException
available
в интерфейсе ObjectInput
available
в классе InputStream
IOException
- если есть ошибки ввода-вывода, читая из базового InputStream
public void close() throws IOException
close
в интерфейсе Closeable
close
в интерфейсе ObjectInput
close
в интерфейсе AutoCloseable
close
в классе InputStream
IOException
- Если ошибка ввода-вывода произошла.public boolean readBoolean() throws IOException
readBoolean
в интерфейсе DataInput
EOFException
- Если конец файла достигается.IOException
- Если другая ошибка ввода-вывода произошла.public byte readByte() throws IOException
readByte
в интерфейсе DataInput
EOFException
- Если конец файла достигается.IOException
- Если другая ошибка ввода-вывода произошла.public int readUnsignedByte() throws IOException
readUnsignedByte
в интерфейсе DataInput
EOFException
- Если конец файла достигается.IOException
- Если другая ошибка ввода-вывода произошла.public char readChar() throws IOException
readChar
в интерфейсе DataInput
EOFException
- Если конец файла достигается.IOException
- Если другая ошибка ввода-вывода произошла.public short readShort() throws IOException
readShort
в интерфейсе DataInput
EOFException
- Если конец файла достигается.IOException
- Если другая ошибка ввода-вывода произошла.public int readUnsignedShort() throws IOException
readUnsignedShort
в интерфейсе DataInput
EOFException
- Если конец файла достигается.IOException
- Если другая ошибка ввода-вывода произошла.public int readInt() throws IOException
readInt
в интерфейсе DataInput
EOFException
- Если конец файла достигается.IOException
- Если другая ошибка ввода-вывода произошла.public long readLong() throws IOException
readLong
в интерфейсе DataInput
EOFException
- Если конец файла достигается.IOException
- Если другая ошибка ввода-вывода произошла.public float readFloat() throws IOException
readFloat
в интерфейсе DataInput
EOFException
- Если конец файла достигается.IOException
- Если другая ошибка ввода-вывода произошла.public double readDouble() throws IOException
readDouble
в интерфейсе DataInput
EOFException
- Если конец файла достигается.IOException
- Если другая ошибка ввода-вывода произошла.public void readFully(byte[] buf) throws IOException
readFully
в интерфейсе DataInput
buf
- буфер, в который читаются данныеEOFException
- Если конец файла достигается.IOException
- Если другая ошибка ввода-вывода произошла.public void readFully(byte[] buf, int off, int len) throws IOException
readFully
в интерфейсе DataInput
buf
- буфер, в который читаются данныеoff
- смещение запуска данныхlen
- максимальное количество байтов, чтобы читатьEOFException
- Если конец файла достигается.IOException
- Если другая ошибка ввода-вывода произошла.public int skipBytes(int len) throws IOException
skipBytes
в интерфейсе DataInput
len
- число байтов, которые будут пропущеныIOException
- Если ошибка ввода-вывода произошла.@Deprecated public String readLine() throws IOException
readLine
в интерфейсе DataInput
IOException
- если есть ошибки ввода-вывода, читая из базового InputStream
public String readUTF() throws IOException
readUTF
в интерфейсе DataInput
IOException
- если есть ошибки ввода-вывода, читая из базового InputStream
UTFDataFormatException
- если байты чтения не представляют допустимое измененное кодирование UTF-8 строки
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.