Класс CoderResult
public class CoderResult extends Object
Кодер набора символов, то есть декодер или кодер, потребляет байты (или символы) из входного буфера, преобразует их и записывает полученные символы (или байты) в выходной буфер. Процесс кодирования завершается по одной из четырёх причин, которые описываются экземплярами этого класса:
Недостаток данных сообщается, когда больше нет входных данных для обработки или недостаточно входных данных и требуются дополнительные входные данные. Это условие представлено уникальным объектом результата
UNDERFLOW, метод которогоisUnderflowвозвращаетtrue.Переполнение сообщается, когда в выходном буфере недостаточно места. Это условие представлено уникальным объектом результата
OVERFLOW, метод которогоisOverflowвозвращаетtrue.Ошибка неправильного входного формата сообщается, когда последовательность входных единиц не является корректной. Такие ошибки описываются экземплярами этого класса, метод которых
isMalformedвозвращаетtrue, а методlengthвозвращает длину некорректной последовательности. Существует один уникальный экземпляр этого класса для всех ошибок неправильного формата входных данных заданной длины.Ошибка непреобразуемого символа сообщается, когда последовательность входных единиц обозначает символ, который не может быть представлен в выходном наборе символов. Такие ошибки описываются экземплярами этого класса, метод которых
isUnmappableвозвращаетtrue, а методlengthвозвращает длину входной последовательности, обозначающей непреобразуемый символ. Существует один уникальный экземпляр этого класса для всех ошибок непреобразуемого символа заданной длины.
Для удобства метод isError возвращает true для объектов результата, описывающих ошибки неправильного входного формата и непреобразуемого символа, но false для объектов, описывающих условия недостатка данных или переполнения.
- Since:
- 1.4
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final CoderResult |
OVERFLOW |
Объект результата, указывающий на переполнение, означающее, что в выходном буфере недостаточно места. |
static final CoderResult |
UNDERFLOW |
Объект результата, указывающий на недостаток данных, означающий, что либо входной буфер полностью потреблён, либо, если входной буфер ещё не пуст, что требуется дополнительный ввод. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
isError() |
Указывает, описывает ли этот объект состояние ошибки. |
boolean |
isMalformed() |
Указывает, описывает ли этот объект ошибку неправильного входного формата. |
boolean |
isOverflow() |
Указывает, описывает ли этот объект состояние переполнения. |
boolean |
isUnderflow() |
Указывает, описывает ли этот объект состояние недостатка данных. |
boolean |
isUnmappable() |
Указывает, описывает ли этот объект ошибку непреобразуемого символа. |
int |
length() |
Возвращает длину ошибочных входных данных, описанных этим объектом (необязательная операция). |
static CoderResult |
malformedForLength |
Статический метод-фабрика, возвращающий уникальный объект, описывающий ошибку неправильного входного формата заданной длины. |
void |
throwException() |
Выбрасывает исключение, соответствующее результату, описанному этим объектом. |
String |
toString() |
Возвращает строку, описывающую этот результат кодирования. |
static CoderResult |
unmappableForLength |
Статический метод-фабрика, возвращающий уникальный объект результата, описывающий ошибку непреобразуемого символа заданной длины. |
Подробное описание полей
UNDERFLOW
public static final CoderResult UNDERFLOW
OVERFLOW
public static final CoderResult OVERFLOW
Подробное описание методов
toString
public String toString()
- Overrides:
-
toStringв классеObject - Returns:
- Описание в виде строки
isUnderflow
public boolean isUnderflow()
- Returns:
-
trueесли, и только если, этот объект обозначает недостаток данных
isOverflow
public boolean isOverflow()
- Returns:
-
trueесли, и только если, этот объект обозначает переполнение
isError
public boolean isError()
- Returns:
-
trueесли, и только если, этот объект обозначает ошибку неправильного входного формата или ошибку непреобразуемого символа
isMalformed
public boolean isMalformed()
- Returns:
-
trueесли, и только если, этот объект обозначает ошибку неправильного входного формата
isUnmappable
public boolean isUnmappable()
- Returns:
-
trueесли, и только если, этот объект обозначает ошибку непреобразуемого символа
length
public int length()
- Returns:
- Длина ошибочных входных данных, положительное целое число
- Throws:
-
UnsupportedOperationException- Если этот объект не описывает состояние ошибки, то есть, еслиisErrorне возвращаетtrue
malformedForLength
public static CoderResult malformedForLength(int length)
- Parameters:
-
length- Заданная длина - Returns:
- Запрашиваемый объект результата кодирования
unmappableForLength
public static CoderResult unmappableForLength(int length)
- Parameters:
-
length- Заданная длина - Returns:
- Запрашиваемый объект результата кодирования
throwException
public void throwException() throws CharacterCodingException
- Throws:
-
BufferUnderflowException- Если этот объект являетсяUNDERFLOW -
BufferOverflowException- Если этот объект являетсяOVERFLOW -
MalformedInputException- Если этот объект представляет ошибку неправильного входного формата; значение длины исключения будет соответствовать значению длины этого объекта -
UnmappableCharacterException- Если этот объект представляет ошибку непреобразуемого символа; значение длины исключения будет соответствовать значению длины этого объекта -
CharacterCodingException-MalformedInputExceptionесли этот объект представляет ошибку неправильного входного формата;UnmappableCharacterExceptionесли этот объект представляет ошибку непреобразуемого символа
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/nio/charset/CoderResult.html