Sunday, December 18, 2016

Android EUC-KR 텍스트 파일 읽기 및 인코딩

안드로이드에서 TXT파일을 처리하다보면 EUC-KR 파일을 처리할때가 있다. 그럴때는 다음과 같이 UniversalDetector를 쓰면 되는데 gradle에 먼저 다음과 같이 추가해 주어야 한다.
    //encoding
    compile 'com.googlecode.juniversalchardet:juniversalchardet:1.0.3'

그리고 다음과 같이 프로그래밍 하면 텍스트 파일 내용을 UTF-8 자바 문자열로 얻을 수 있다.
File file = new File(path);
FileInputStream is = new FileInputStream(file);

UniversalDetector detector = new UniversalDetector(null);
byte[] buffer = new byte[is.available()];
is.read(buffer);
is.close();
detector.handleData(buffer, 0, buffer.length);
detector.dataEnd();

String text = new String(buffer, detector.getDetectedCharset());

No comments:

Post a Comment