我的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"));
这在Netbeans模拟器和我的LG手机中都可以正常工作,但在其他手机(诺基亚,三星)中,不显示阿拉伯语和法语。只有英语适用于所有情况。
我的代码有问题吗?
答案 0 :(得分: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().
谢谢Thilo。