本文向大家简单介绍一下J2ME中读取Unicode和UTF-8编码文件的方法,与J2SE和J2EE相比,J2ME总体的的运行环境和目标更加多样化,但其中每一种产品的用途却更为单一,而且资源限制也更加严格。
J2ME中读取Unicode和UTF-8编码文件
一、J2ME读取Unicode文件
/**
*读取Unicode编码文本文件
*@paramresourceString-文件名
*@returnString-Unicode文本
*/
publicstaticStringread_Uni(Stringresource){
byteword_uni[]=newbyte[1024];
StringstrReturn=null;
InputStreamis;
try{
is=instance.getClass().getResourceAsStream(resource);
is.skip(2);//跳过两个字节的文件头
is.read(word_uni);
is.close();
StringBufferstringbuffer=newStringBuffer("");
for(intj=0;j<word_uni.length;){
intl=word_uni[j++];
inth=word_uni[j++];
charc=(char)((l&0xff)|((h<<8)&0xff00));
stringbuffer.append(c);
}
strReturn=stringbuffer.toString();
}catch(IOExceptionex){
System.out.println(ex);
}finally{
is=null;
}
returnstrReturn;
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
#p#二、J2ME读取UTF-8文件
/**
*读取UTF-8编码文本文件
*@paramresourceString-文件名
*@returnString-UTF-8文本
*/
publicstaticStringread_UTF(Stringresource){
byteword_utf[]=newbyte[1024];
StringstrReturn=null;
InputStreamis;
try{
is=instance.getClass().getResourceAsStream(resource);
is.read(word_utf);
is.close();
strReturn=newString(word_utf,"UTF-8");
}catch(IOExceptionex){
System.out.println(ex);
}
returnstrReturn;
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
【编辑推荐】
- 剖析J2ME对Unicode实体编码转换代码
- J2ME开发环境搭建必备手册
- J2ME开发环境的搭建和运行
- J2ME KVM教程之增加KVM中的系统调用API
- Java2平台J2SE、J2EE、J2ME三大版本的区别