在 Java 编程中,当我们谈论跨不同系统处理数据和信息时,字符编码非常重要。 java.nio.charset 包包含用于管理字符编码和解码的类。CodingErrorActionclass 是该包的核心类之一。此类说明出现编码或解码问题时要采取的操作。
java.nio.charset.CodingErrorActionclass 是一个枚举,表示响应编码或解码错误而要处理的不同操作。这些操作可帮助开发人员定义一旦发生意外情况,编码或解码过程将如何进行。
java.nio.charset.CodingErrorAction 类的方法
方法 | 说明 |
---|---|
toString() | 返回说明此操作的字符串。 |
java.nio.charset.CodingErrorAction 类的字段
场地 | 说明 |
---|---|
IGNORE | 应通过丢弃错误输入并恢复编码操作来处理错误 |
REPLACE | 应通过删除错误输入、将替换值附加到输出缓冲区来处理错误 |
REPORT | 错误需要报告给开发者 |
示例
举个例子,我们将使用 java.nio.charset.CodingErrorAction IGNORE 属性来忽略编码或解码过程中引起的异常。
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.charset.Charset;
import java.nio.charset.CharsetEncoder;
import java.nio.charset.CodingErrorAction;
public class CodingErrorActionShortExample {
public static void main(String[] args) {
Charset charset = Charset.forName("ISO-8859-1");
CharsetEncoder encoder = charset.newEncoder();
// Set the coding error action to IGNORE
encoder.onMalformedInput(CodingErrorAction.IGNORE)
.onUnmappableCharacter(CodingErrorAction.IGNORE);
String input = "Hello, 你好, नमस्ते";
CharBuffer charBuffer = CharBuffer.wrap(input);
ByteBuffer byteBuffer = ByteBuffer.allocate(50);
try {
encoder.encode(charBuffer, byteBuffer, true);
byteBuffer.flip();
while (byteBuffer.hasRemaining()) {
System.out.print((char) byteBuffer.get());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
输出:
Hello, ,
相关用法
- Java java.nio.charset.CoderResult用法及代码示例
- Java java.nio.charset.CharsetEncoder用法及代码示例
- Java java.nio.charset.Charset用法及代码示例
- Java java.nio.channels.spi.SelectorProvider用法及代码示例
- Java java.nio.channels.spi.AsynchronousChannelProvider用法及代码示例
- Java java.nio.channels.Selector用法及代码示例
- Java java.nio.ByteBuffer用法及代码示例
- Java java.nio.IntBuffer用法及代码示例
- Java java.nio.file.FileStore用法及代码示例
- Java java.nio.FloatBuffer用法及代码示例
- Java java.nio.file.LinkPermission用法及代码示例
- Java java.nio.ShortBuffer用法及代码示例
- Java java.nio.DoubleBuffer用法及代码示例
- Java java.nio.file.attribute.AclEntry用法及代码示例
- Java java.nio.LongBuffer用法及代码示例
- Java java.nio.file.spi.FileTypeDetector用法及代码示例
- Java java.nio.ByteOrder用法及代码示例
- Java java.nio.file.attribute.FileTime用法及代码示例
- Java java.nio.file.SimpleFileVisitor用法及代码示例
- Java java.nio.file.FileSystems用法及代码示例
- Java java.nio.CharBuffer用法及代码示例
- Java java.nio.Buffer用法及代码示例
- Java java.nio.file.FileSystem用法及代码示例
- Java java.nio.file.Paths用法及代码示例
- Java java.net.SocketException用法及代码示例
注:本文由纯净天空筛选整理自kirandeepkaurguler大神的英文原创作品 java.nio.charset.CodingErrorAction Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。