本文整理匯總了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);
}