在 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。