package com.eactive.eai.util; import java.nio.ByteBuffer; import java.nio.charset.CharacterCodingException; import java.nio.charset.Charset; import java.nio.charset.CharsetDecoder; public class CharsetDecoderUtil { private Charset charset = null; private CharsetDecoder decoder = null; public CharsetDecoderUtil(String encoding) { this.charset = Charset.forName(encoding); this.decoder = charset.newDecoder(); } public static String toKor(String s) { if (s != null) { return changeCode(s, "iso_8859-1", "KSC5601"); } else { return null; } } public static String changeCode(String s, String s1, String s2) { String convString = null; if (s != null) { try { convString = new String(s.getBytes(s1), s2); } catch (Exception exception) { //Log.errorlog(exception.toString()); return null; } } return convString; } public String decode(ByteBuffer buffer) { String string = null; // buffer가 null일 경우 return한다. if (buffer == null) { return ""; } try { // buffer를 decode한다. string = decoder.decode(buffer).toString(); } catch (CharacterCodingException e) { string = ""; } // decode한 값이 null일 경우 ""를 리턴 한다. if (string == null) { return ""; } else { return string; } } }