當前位置: 首頁>>代碼示例>>Java>>正文


Java CharacterCodingException類代碼示例

本文整理匯總了Java中java.nio.charset.CharacterCodingException的典型用法代碼示例。如果您正苦於以下問題:Java CharacterCodingException類的具體用法?Java CharacterCodingException怎麽用?Java CharacterCodingException使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


CharacterCodingException類屬於java.nio.charset包,在下文中一共展示了CharacterCodingException類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: testParseFalseEncodedFile

import java.nio.charset.CharacterCodingException; //導入依賴的package包/類
public void testParseFalseEncodedFile() throws IOException {
    Path tempDir = createTempDir();
    Path dict = tempDir.resolve("foo.dict");
    Settings nodeSettings = Settings.builder()
        .put("foo.bar_path", dict)
        .put(Environment.PATH_HOME_SETTING.getKey(), tempDir).build();
    try (OutputStream writer = Files.newOutputStream(dict)) {
        writer.write(new byte[]{(byte) 0xff, 0x00, 0x00}); // some invalid UTF-8
        writer.write('\n');
    }
    Environment env = new Environment(nodeSettings);
    IllegalArgumentException ex = expectThrows(IllegalArgumentException.class,
        () -> Analysis.getWordList(env, nodeSettings, "foo.bar"));
    assertEquals("Unsupported character encoding detected while reading foo.bar_path: " + tempDir.resolve("foo.dict").toString()
        + " - files must be UTF-8 encoded" , ex.getMessage());
    assertTrue(ex.getCause().toString(), ex.getCause() instanceof MalformedInputException
        || ex.getCause() instanceof CharacterCodingException);
}
 
開發者ID:justor,項目名稱:elasticsearch_my,代碼行數:19,代碼來源:AnalysisTests.java

示例2: processData

import java.nio.charset.CharacterCodingException; //導入依賴的package包/類
public void processData() throws CannotReadException {
    //Skip other flags
    dataBuffer.position(dataBuffer.position() + VERSION_FLAG_LENGTH + OTHER_FLAG_LENGTH + RESERVED_FLAG_LENGTH);


    CharsetDecoder decoder = Charset.forName("ISO-8859-1").newDecoder();
    try {
        handlerType = decoder.decode((ByteBuffer) dataBuffer.slice().limit(HANDLER_LENGTH)).toString();
    } catch (CharacterCodingException cee) {
        //Ignore

    }

    //To getFields human readable name
    mediaDataType = mediaDataTypeMap.get(handlerType);
}
 
開發者ID:openaudible,項目名稱:openaudible,代碼行數:17,代碼來源:Mp4HdlrBox.java

示例3: processData

import java.nio.charset.CharacterCodingException; //導入依賴的package包/類
public void processData() throws CannotReadException
{
    //Skip other flags
    dataBuffer.position(dataBuffer.position() + VERSION_FLAG_LENGTH + OTHER_FLAG_LENGTH + RESERVED_FLAG_LENGTH);


    CharsetDecoder decoder = Charset.forName("ISO-8859-1").newDecoder();
    try
    {
        handlerType = decoder.decode((ByteBuffer) dataBuffer.slice().limit(HANDLER_LENGTH)).toString();
    }
    catch (CharacterCodingException cee)
    {
        //Ignore

    }

    //To getFields human readable name
    mediaDataType = mediaDataTypeMap.get( handlerType);
}
 
開發者ID:GlennioTech,項目名稱:MetadataEditor,代碼行數:21,代碼來源:Mp4HdlrBox.java

示例4: readByteArray

import java.nio.charset.CharacterCodingException; //導入依賴的package包/類
/**
 * Read a string from buffer of fixed size(size has already been set in constructor)
 *
 * @param arr    this is the buffer for the frame
 * @param offset this is where to start reading in the buffer for this field
 */
public void readByteArray(byte[] arr, int offset) throws InvalidDataTypeException {
    logger.config("Reading from array from offset:" + offset);
    try {
        String charSetName = getTextEncodingCharSet();
        CharsetDecoder decoder = Charset.forName(charSetName).newDecoder();

        //Decode buffer if runs into problems should through exception which we
        //catch and then set value to empty string.
        logger.finest("Array length is:" + arr.length + "offset is:" + offset + "Size is:" + size);


        if (arr.length - offset < size) {
            throw new InvalidDataTypeException("byte array is to small to retrieve string of declared length:" + size);
        }
        String str = decoder.decode(ByteBuffer.wrap(arr, offset, size)).toString();
        if (str == null) {
            throw new NullPointerException("String is null");
        }
        value = str;
    } catch (CharacterCodingException ce) {
        logger.severe(ce.getMessage());
        value = "";
    }
    logger.config("Read StringFixedLength:" + value);
}
 
開發者ID:openaudible,項目名稱:openaudible,代碼行數:32,代碼來源:StringFixedLength.java

示例5: splitKeyVal

import java.nio.charset.CharacterCodingException; //導入依賴的package包/類
private void splitKeyVal(byte[] line, int length, Text key, Text val)
  throws IOException {
  // Need to find numKeyFields separators
  int pos = UTF8ByteArrayUtils.findBytes(line, 0, length, separator);
  for(int k=1; k<numKeyFields && pos!=-1; k++) {
    pos = UTF8ByteArrayUtils.findBytes(line, pos + separator.length, 
      length, separator);
  }
  try {
    if (pos == -1) {
      key.set(line, 0, length);
      val.set("");
    } else {
      StreamKeyValUtil.splitKeyVal(line, 0, length, key, val, pos,
        separator.length);
    }
  } catch (CharacterCodingException e) {
    throw new IOException(StringUtils.stringifyException(e));
  }
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:21,代碼來源:TextOutputReader.java

示例6: decode

import java.nio.charset.CharacterCodingException; //導入依賴的package包/類
public static String decode(ByteBuffer buffer) {		
	//buffer.flip();		
	// FIXME: Setting the charset somewhere
	
	CharsetDecoder decoder = charset.newDecoder();
	CharBuffer charBuffer;
	try {
		charBuffer = decoder.decode(buffer);
		String message = charBuffer.toString();
		message = message.split("\n")[0];
		message = message.split("\r")[0];
		return message;
	}
	catch(CharacterCodingException cce) {
		cce.printStackTrace();
	}
	
	return "";
}
 
開發者ID:roscisz,項目名稱:KernelHive,代碼行數:20,代碼來源:Decoder.java

示例7: decode

import java.nio.charset.CharacterCodingException; //導入依賴的package包/類
public static void decode(CharsetDecoder charsetDecoder, ByteBuffer byteBuf, CharBuffer charByte) {
    try {
        CoderResult cr = charsetDecoder.decode(byteBuf, charByte, true);

        if (!cr.isUnderflow()) {
            cr.throwException();
        }

        cr = charsetDecoder.flush(charByte);

        if (!cr.isUnderflow()) {
            cr.throwException();
        }
    } catch (CharacterCodingException x) {
        // Substitution is always enabled,
        // so this shouldn't happen
        throw new JSONException("utf8 decode error, " + x.getMessage(), x);
    }
}
 
開發者ID:weiwenqiang,項目名稱:GitHub,代碼行數:20,代碼來源:IOUtils.java

示例8: getCharAt

import java.nio.charset.CharacterCodingException; //導入依賴的package包/類
private char getCharAt(int index) throws IndexOutOfBoundsException {        
    if(sink.buffer.scope.isBefore(index)) {            
        reset();
    }
    while(!sink.buffer.scope.isInside(index)) {
        boolean hasNext;
        try {
            hasNext = sink.next();
        } catch (CharacterCodingException e) {
            throw new SourceIOException(e);
        }
        if (listener != null && sink.buffer.scope.start > maxReadOffset) {
            maxReadOffset = sink.buffer.scope.start;
            listener.fileContentMatchingProgress(source.fo.getPath(),
                    maxReadOffset);
        }
        if(!hasNext) {
            throw new IndexOutOfBoundsException("index is " +
                    index + " > lenght"); // NOI18N
        }
    }        
    return sink.charAt(index);
}
 
開發者ID:apache,項目名稱:incubator-netbeans,代碼行數:24,代碼來源:BufferedCharSequence.java

示例9: encode

import java.nio.charset.CharacterCodingException; //導入依賴的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;
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:25,代碼來源:Text.java

示例10: testEncodingOfString

import java.nio.charset.CharacterCodingException; //導入依賴的package包/類
public void testEncodingOfString() throws CharacterCodingException {
    final PropCharsetEncoder encoder
            = new PropCharsetEncoder(new PropCharset());
    compare(encoder.encodeStringForTests(""),
            new byte[] {});
    compare(encoder.encodeStringForTests("a"),
            new byte[] {'a'});
    compare(encoder.encodeStringForTests("\\"),     //pending character
            new byte[] {'\\'});
    compare(encoder.encodeStringForTests("\\\\"),
            new byte[] {'\\', '\\'});
    compare(encoder.encodeStringForTests("\\t"),
            new byte[] {'\\', 't'});
    compare(encoder.encodeStringForTests("key\t=value"),
            new byte[] {'k', 'e', 'y', '\t', '=', 'v', 'a', 'l', 'u', 'e'});
    compare(encoder.encodeStringForTests("key=\tvalue"),
            new byte[] {'k', 'e', 'y', '=', '\t', 'v', 'a', 'l', 'u', 'e'});
}
 
開發者ID:apache,項目名稱:incubator-netbeans,代碼行數:19,代碼來源:PropertiesEncodingTest.java

示例11: decode

import java.nio.charset.CharacterCodingException; //導入依賴的package包/類
private static String decode(ByteBuffer utf8, boolean replace) 
  throws CharacterCodingException {
  CharsetDecoder decoder = DECODER_FACTORY.get();
  if (replace) {
    decoder.onMalformedInput(
        java.nio.charset.CodingErrorAction.REPLACE);
    decoder.onUnmappableCharacter(CodingErrorAction.REPLACE);
  }
  String str = decoder.decode(utf8).toString();
  // set decoder back to its default value: REPORT
  if (replace) {
    decoder.onMalformedInput(CodingErrorAction.REPORT);
    decoder.onUnmappableCharacter(CodingErrorAction.REPORT);
  }
  return str;
}
 
開發者ID:nucypher,項目名稱:hadoop-oss,代碼行數:17,代碼來源:Text.java

示例12: decodeUT8

import java.nio.charset.CharacterCodingException; //導入依賴的package包/類
/**
 * Decode the buffer using the CharsetDecoder.
 * @param byteBuf
 * @return false if failed because the charbuffer was not big enough
 * @throws RuntimeException if it fails for encoding errors
 */
private boolean decodeUT8(ByteBuffer byteBuf) {
  // We give it all of the input data in call.
  boolean endOfInput = true;
  decoder.reset();
  charBuffer.rewind();
  // Convert utf-8 bytes to sequence of chars
  CoderResult result = decoder.decode(byteBuf, charBuffer, endOfInput);
  if (result.isOverflow()) {
    // Not enough space in the charBuffer.
    return false;
  } else if (result.isError()) {
    // Any other error
    try {
      result.throwException();
    } catch (CharacterCodingException e) {
      throw new RuntimeException(e);
    }
  }
  return true;
}
 
開發者ID:dremio,項目名稱:dremio-oss,代碼行數:27,代碼來源:CharSequenceWrapper.java

示例13: byCharsetEncoder_US_ASCII

import java.nio.charset.CharacterCodingException; //導入依賴的package包/類
@Benchmark
public byte[] byCharsetEncoder_US_ASCII() {
    try {
        CharsetEncoder encoder = asciiencode.get();
        CharBuffer buffer  = charbuffergenerator.get();
        buffer.clear();
        buffer.append(STR);
        buffer.flip();

        ByteBuffer outbuffer = bytebuffergenerator.get();
        outbuffer.clear();

        CoderResult result = encoder.encode(buffer, outbuffer, false);
        if (result.isError()) {
            result.throwException();
        }
        byte[] b = new byte[STR.length()];
        outbuffer.flip();
        outbuffer.get(b);
        return b;
    } catch (CharacterCodingException e) {
        throw new RuntimeException(e);
    }
}
 
開發者ID:fbacchella,項目名稱:RegexPerf,代碼行數:25,代碼來源:StringToBytes.java

示例14: writeBuffer

import java.nio.charset.CharacterCodingException; //導入依賴的package包/類
private boolean writeBuffer(final ByteBuffer buffer, final IoCallback callback) {
    StringBuilder builder = new StringBuilder();
    try {
        builder.append(charsetDecoder.decode(buffer));
    } catch (CharacterCodingException e) {
        callback.onException(exchange, this, e);
        return false;
    }
    String data = builder.toString();
    writer.write(data);
    if (writer.checkError()) {
        callback.onException(exchange, this, new IOException());
        return false;
    }
    return true;
}
 
開發者ID:lamsfoundation,項目名稱:lams,代碼行數:17,代碼來源:BlockingWriterSenderImpl.java

示例15: decodeProperties

import java.nio.charset.CharacterCodingException; //導入依賴的package包/類
private Map<String, String> decodeProperties ( final IoSession session, final IoBuffer data ) throws CharacterCodingException
{
    final int count = data.getInt ();

    final Map<String, String> result = new HashMap<String, String> ( count );

    final CharsetDecoder decoder = getCharsetDecoder ( session );

    for ( int i = 0; i < count; i++ )
    {
        final String key = data.getString ( decoder );
        final String value = data.getString ( decoder );
        result.put ( key, value );
    }

    return result;
}
 
開發者ID:eclipse,項目名稱:neoscada,代碼行數:18,代碼來源:MessageChannelCodecFilter.java


注:本文中的java.nio.charset.CharacterCodingException類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。