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.
Механизм десериализации значения по умолчанию для объектов восстанавливает содержание каждого поля к значению, и введите это, имел, когда это было записано. Поля, объявленные как переходный процесс или статичный, игнорируются процессом десериализации. Ссылки на другие объекты заставляют те объекты быть считанными из потока по мере необходимости. Графики объектов восстанавливаются, правильно используя ссылочный механизм разделения доступа. Новые объекты всегда выделяются, десериализовывая, который препятствует существующим объектам быть перезаписанным.
Чтение объекта походит на выполнение конструкторов нового объекта. Память выделяется для объекта и инициализируется, чтобы обнулить (НУЛЬ). Конструкторы без аргументов вызываются для несериализуемых классов, и затем поля сериализуемых классов восстанавливаются от потока, запускающегося с сериализуемого class, самого близкого к java.lang.object и заканчивающегося с самым определенным class объекта.
Например читать из потока как записано примером в 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 метод ответственен за чтение и восстановление состояния объекта для его определенного class, используя данные, записанные потоку соответствующим writeObject методом. Метод не должен интересоваться состоянием, принадлежащим его суперклассам или подклассам. Государство восстанавливается, читая данные из ObjectInputStream для отдельных полей и делая присвоения на соответствующие поля объекта. Чтение примитивных типов данных поддерживается DataInput.
Любая попытка считать объектные данные, которые превышают границы пользовательских данных, записанных соответствующим writeObject методом, заставит OptionalDataException быть брошенным с eof значением поля истины. Необъектные чтения, которые превышают конец выделенных данных, отразят конец данных таким же образом, что они указали бы на конец потока: чтения bytewise возвратятся-1 как побайтовое чтение или число чтения байтов, и примитивные чтения бросят EOFExceptions. Если нет никакого соответствующего writeObject метода, то конец значения по умолчанию сериализированные данные отмечает конец выделенных данных.
Примитивные и объектные приказы чтения, изданные изнутри readExternal метода, ведут себя тем же самым способом - если поток будет уже расположен в конце данных, записанных соответствующим writeExternal методом, то объектные чтения бросят OptionalDataExceptions с набором eof к истине, bytewise чтения возвратится-1, и примитивные чтения бросят EOFExceptions. Отметьте, что это поведение не содержит для потоков, записанных со старым ObjectStreamConstants.PROTOCOL_VERSION_1
протокол, в котором конец данных, записанных writeExternal методами, не разграничивается, и следовательно не может быть обнаружен.
readObjectNoData метод ответственен за инициализацию состояния объекта для его определенного class, когда поток сериализации не перечисляет данный class как суперкласс десериализовываемого объекта. Это может произойти в случаях, где принимающая сторона использует различную версию class десериализованного экземпляра чем передающая сторона, и версия получателя расширяет классы, которые не расширяются версией отправителя. Это может также произойти, если поток сериализации вмешался; следовательно, readObjectNoData полезен для инициализации десериализованных объектов должным образом несмотря на "враждебный" или неполный исходный поток.
Сериализация не читает или присваивает значения полям любого объекта, который не реализует java.io. Сериализуемый интерфейс. Подклассы Объектов, которые не сериализуемы, могут быть сериализуемыми. В этом случае у несериализуемого class должен быть конструктор без аргументов, чтобы позволить его полям быть инициализированными. В этом случае это - обязанность подкласса сохранить и восстановить состояние несериализуемого class. Это часто имеет место, что поля того, что class доступен (общественность, пакет, или защищенный) или что есть, получают и устанавливают методы, которые могут использоваться, чтобы восстановить состояние.
Любое исключение, которое происходит, десериализовывая объект, будет поймано ObjectInputStream и прервет процесс считывания.
Реализация интерфейса Externalizable позволяет объекту принять полный контроль над содержанием и форматом сериализированной формы объекта. Методы интерфейса Externalizable, writeExternal и readExternal, вызывают, чтобы сохранить и восстановить состояние объектов. Когда реализовано class они могут записать и считать свое собственное состояние, используя все методы ObjectOutput и ObjectInput. Это - ответственность объектов обработать любое управление версиями, которое происходит.
Перечислимые константы десериализовываются по-другому чем обычный сериализуемый или объекты externalizable. Сериализированная форма перечислимой константы состоит исключительно из ее имени; значения полей константы не передаются. Чтобы десериализовать перечислимую константу, ObjectInputStream читает постоянное имя из потока; десериализованная константа тогда получается, вызывая статический метод Enum.valueOf(Class, String)
с базовым типом перечислимой константы и полученным постоянным именем как параметры. Как другое сериализуемое или объекты externalizable, перечислимые константы могут функционировать как цели обратных ссылок, появляющихся впоследствии в потоке сериализации. Процесс, которым десериализовываются перечислимые константы, не может быть настроен: любой class специфичный 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()
Считайте нестатические и непереходные поля текущего class от этого потока.
|
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()
Считайте дескриптор class из потока сериализации.
|
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)
Загрузите локальный class, эквивалентный из указанного потока описание class.
|
protected Object |
resolveObject(Object obj)
Этот метод позволит доверенным подклассам ObjectInputStream заменять одним объектом другого во время десериализации.
|
protected Class<?> |
resolveProxyClass(String[] interfaces)
Возвращает прокси class, который реализует интерфейсы, названные в прокси дескриптор class; подклассы могут реализовать этот метод, чтобы считать пользовательские данные из потока наряду с дескрипторами для динамических прокси-классов, позволяя им использовать альтернативный механизм загрузки для интерфейсов и прокси class.
|
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
- Что-то является неправильным с class, используемым сериализацией.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
- если class объекта десериализовать не может быть найденStreamCorruptedException
- если управляющая информация в потоке непоследовательнаObjectStreamException
- если объект десериализовать уже появился в потокеOptionalDataException
- если примитивные данные являются следующими в потокеIOException
- если ошибка ввода-вывода происходит во время десериализацииpublic void defaultReadObject() throws IOException, ClassNotFoundException
ClassNotFoundException
- если class сериализированного объекта не мог бы быть найден.IOException
- если ошибка ввода-вывода происходит.NotActiveException
- если поток в настоящий момент не читает объекты.public ObjectInputStream.GetField readFields() throws IOException, ClassNotFoundException
GetField
объект, представляющий персистентные поля десериализовываемого объектаClassNotFoundException
- если class сериализированного объекта не мог бы быть найден.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
. Этот метод будет вызван только однажды для каждого уникального class в потоке. Этот метод может быть реализован подклассами, чтобы использовать альтернативный механизм загрузки, но должен возвратить a Class
объект. После того, как возвращенный, если class не является массивом class, его serialVersionUID по сравнению с serialVersionUID сериализированного class, и если есть несоответствие, сбои десериализации и InvalidClassException
бросается.
Реализация по умолчанию этого метода в ObjectInputStream
возвращает результат вызова
Class.forName(desc.getName(), false, loader)где
loader
определяется следующим образом: если есть метод на стеке текущего потока, объявление которого class было определено определяемым пользователем загрузчиком class (и не был сгенерированный, чтобы реализовать отражающие вызовы), то loader
загрузчик class, соответствующий самому близкому такой метод к в настоящий момент выполняющемуся фрейму; иначе, loader
null
. Если этот вызов приводит к a ClassNotFoundException
и имя переданного ObjectStreamClass
экземпляр является ключевым словом языка Java для типа примитива или пусто, тогда Class
объект, представляющий тот тип примитива или пусто, будет возвращен (например, ObjectStreamClass
с именем "int"
будет разрешен к Integer.TYPE
). Иначе, ClassNotFoundException
будет брошен в вызывающую сторону этого метода.desc
- экземпляр class ObjectStreamClass
Class
объектное соответствие desc
IOException
- любое из обычных исключений Ввода/Вывода.ClassNotFoundException
- если class сериализированного объекта не может быть найден.protected Class<?> resolveProxyClass(String[] interfaces) throws IOException, ClassNotFoundException
Однажды этот метод вызывают точно для каждого уникального прокси дескриптор class в потоке.
Соответствующий метод в ObjectOutputStream
annotateProxyClass
. Для данного подкласса ObjectInputStream
это переопределяет этот метод, annotateProxyClass
метод в соответствующем подклассе ObjectOutputStream
должен записать любые данные или объекты, считанные этим методом.
Реализация по умолчанию этого метода в ObjectInputStream
возвращает результат вызова Proxy.getProxyClass
со списком Class
объекты для интерфейсов, которые называют в interfaces
параметр. Class
объект для каждого имени интерфейса i
значение, возвращенное, вызывая
Class.forName(i, false, loader)где
loader
тот из первых не -null
Загрузчик class стек выполнения, или null
если не не -null
Загрузчики class находятся на стеке (тот же самый выбор загрузчика class, используемый resolveClass
метод). Если любой из разрешенных интерфейсов не является непубличным, это то же самое значение loader
также загрузчик class, к которому передают Proxy.getProxyClass
; если непубличные интерфейсы присутствуют, их загрузчик class передают вместо этого (если больше чем с одним непубличным интерфейсом загрузчик class встречаются, IllegalAccessError
бросается). Если Proxy.getProxyClass
броски IllegalArgumentException
, resolveProxyClass
бросит a ClassNotFoundException
содержа IllegalArgumentException
.interfaces
- список имен интерфейса, которые были десериализованы в прокси дескриптор classIOException
- любое исключение, выданное базовым InputStream
ClassNotFoundException
- если прокси class или какой-либо из именованных интерфейсов не мог бы быть найден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
метод). По умолчанию этот метод читает дескрипторы class согласно формату, определенному в Объектной спецификации Сериализации.IOException
- Если ошибка ввода-вывода произошла.ClassNotFoundException
- Если Класс сериализированного объекта, используемого в представлении дескриптора class, не может быть найденObjectOutputStream.writeClassDescriptor(java.io.ObjectStreamClass)
public int read() throws IOException
read
в интерфейсе ObjectInput
read
в class InputStream
IOException
- Если ошибка ввода-вывода произошла.public int read(byte[] buf, int off, int len) throws IOException
read
в интерфейсе ObjectInput
read
в class InputStream
buf
- буфер, в который читаются данныеoff
- смещение запуска данныхlen
- максимальное количество байтов читалоIOException
- Если ошибка ввода-вывода произошла.DataInputStream.readFully(byte[],int,int)
public int available() throws IOException
available
в интерфейсе ObjectInput
available
в class InputStream
IOException
- если есть ошибки ввода-вывода, читая из базового InputStream
public void close() throws IOException
close
в интерфейсе Closeable
close
в интерфейсе ObjectInput
close
в интерфейсе AutoCloseable
close
в class 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 и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92