本文整理汇总了Java中java.nio.charset.CharsetEncoder.onUnmappableCharacter方法的典型用法代码示例。如果您正苦于以下问题:Java CharsetEncoder.onUnmappableCharacter方法的具体用法?Java CharsetEncoder.onUnmappableCharacter怎么用?Java CharsetEncoder.onUnmappableCharacter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类java.nio.charset.CharsetEncoder
的用法示例。
在下文中一共展示了CharsetEncoder.onUnmappableCharacter方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: encode
import java.nio.charset.CharsetEncoder; //导入方法依赖的package包/类
/**
* Converts the provided String to bytes using the
* UTF-8 encoding. If <code>replace</code> is true, then
* malformed input is replaced with the
* substitution character, which is U+FFFD. Otherwise the
* method throws a MalformedInputException.
* @return ByteBuffer: bytes stores at ByteBuffer.array()
* and length is ByteBuffer.limit()
*/
public static ByteBuffer encode(String string, boolean replace)
throws CharacterCodingException {
CharsetEncoder encoder = ENCODER_FACTORY.get();
if (replace) {
encoder.onMalformedInput(CodingErrorAction.REPLACE);
encoder.onUnmappableCharacter(CodingErrorAction.REPLACE);
}
ByteBuffer bytes =
encoder.encode(CharBuffer.wrap(string.toCharArray()));
if (replace) {
encoder.onMalformedInput(CodingErrorAction.REPORT);
encoder.onUnmappableCharacter(CodingErrorAction.REPORT);
}
return bytes;
}
示例2: saveFromKitToStream
import java.nio.charset.CharsetEncoder; //导入方法依赖的package包/类
/** Store the document in proper encoding.
*/
protected void saveFromKitToStream(StyledDocument doc, EditorKit kit, OutputStream out) throws IOException, BadLocationException {
// not calling super.
String enc = EncodingUtil.detectEncoding(doc);
// saved form saveDocument()
Charset cs = fileEncoding.get();
// + fallback, if no info is available
if (cs == null) {
if (enc != null) {
cs = Charset.forName(enc);
} else {
// fallback to the original encoding, no encoding in document istelf.
cs = FileEncodingQuery.getEncoding(getDataObject().getPrimaryFile());
}
}
if ( Util.THIS.isLoggable() ) /* then */ Util.THIS.debug("Saving using encoding");//, new RuntimeException (enc)); // NOI18N
if ( Util.THIS.isLoggable() ) /* then */ Util.THIS.debug("!!! TextEditorSupport::saveFromKitToStream: enc = " + enc);
if ( Util.THIS.isLoggable() ) /* then */ Util.THIS.debug("!!! ::saveFromKitToStream: after first test -> OK");
FilterOutputStream fos = new FilterOutputStream(out) {
@Override
public void close() throws IOException {
flush();
}
};
CharsetEncoder encoder = cs.newEncoder();
encoder.onUnmappableCharacter(CodingErrorAction.REPORT);
Writer w = new OutputStreamWriter (fos, encoder);
if ( Util.THIS.isLoggable() ) /* then */ Util.THIS.debug("!!! ::saveFromKitToStream: writer = " + w);
try {
kit.write(w, doc, 0, doc.getLength());
} finally {
w.close();
}
}
示例3: create
import java.nio.charset.CharsetEncoder; //导入方法依赖的package包/类
public ManagedHttpClientConnection create(final HttpRoute route, final ConnectionConfig config) {
final ConnectionConfig cconfig = config != null ? config : ConnectionConfig.DEFAULT;
CharsetDecoder chardecoder = null;
CharsetEncoder charencoder = null;
final Charset charset = cconfig.getCharset();
final CodingErrorAction malformedInputAction = cconfig.getMalformedInputAction() != null ?
cconfig.getMalformedInputAction() : CodingErrorAction.REPORT;
final CodingErrorAction unmappableInputAction = cconfig.getUnmappableInputAction() != null ?
cconfig.getUnmappableInputAction() : CodingErrorAction.REPORT;
if (charset != null) {
chardecoder = charset.newDecoder();
chardecoder.onMalformedInput(malformedInputAction);
chardecoder.onUnmappableCharacter(unmappableInputAction);
charencoder = charset.newEncoder();
charencoder.onMalformedInput(malformedInputAction);
charencoder.onUnmappableCharacter(unmappableInputAction);
}
final String id = "http-outgoing-" + Long.toString(COUNTER.getAndIncrement());
return new LoggingManagedHttpClientConnection(
id,
log,
headerlog,
wirelog,
cconfig.getBufferSize(),
cconfig.getFragmentSizeHint(),
chardecoder,
charencoder,
cconfig.getMessageConstraints(),
null,
null,
requestWriterFactory,
responseParserFactory);
}