2012-05-30 3 views
1

내 J2ME 응용 프로그램은 다른 언어 (영어, 프랑스어, 아랍어)로 파일을 읽어야합니다.다른 언어 (인코딩)의 J2ME 읽기 파일

파일은 UTF-8 인코딩으로 작성되며,이 코드로 읽어 :

InputStream is = this.getClass().getResourceAsStream("/res/traduct_"+ lang +".txt"); 
StringBuffer sb = new StringBuffer(); 
int chars; 
while ((chars = is.read()) != -1) 
    sb.append((char) chars); 
String str = new String(String.valueOf(sb).getBytes("ISO-8859-1")); 

이, 내 LG 전화도 넷빈즈 에뮬레이터에서 잘 작동하지만, 다른 휴대 전화 (노키아, 삼성에), 아랍어 및 프랑스어는 표시되지 않습니다. 모든 경우에 영어 만 작동합니다.

내 코드에 문제가 있습니까?

+0

왜 ISO-8859-1인가? 그것이 작동하지 않을 기본 인코딩과 일치하지 않는 경우. – Thilo

+0

UTF-8을 넣었지만 프랑스어와 아랍어는 에뮬레이터에서도 작동하지 않았습니다! –

+2

이 코드를 사용해보십시오 : http://stackoverflow.com/a/739744/14955 – Thilo

답변

2

이 코드는 아무런 문제없이 노력하고 있습니다 : Reading text file in J2ME

String content = ""; 
Reader in = new InputStreamReader(this.getClass().getResourceAsStream("asdf.txt"), THE_ENCODING); 
StringBuffer temp = new StringBuffer(1024); 
char[] buffer = new char[1024]; 
int read; 
while ((read=in.read(buffer, 0, buffer.len)) != -1) { 
    temp.append(buffer, 0, read); 
} 
content = temp.toString(). 

감사 틸로을.