我有一个使用方法 s.next(); 的扫描仪。(它读取一个用“”分隔的整个单词)它可以很好地处理英文字母和单词,但是当我用希伯来语写东西时,它会返回“??” 反而。
我的手机确实有希伯来语,我的应用程序中的所有其他字符串都是希伯来语,只有扫描仪读取的返回 ?????。
有什么帮助吗?谢谢 :)
扫描仪代码:(它是异步任务的一部分)
@Override
protected Void doInBackground(CharSequence... txt) {
Scanner s = new Scanner(getResources().openRawResource(R.raw.data));
try {
boolean add;
do {
add = false;
ListItem temp = new ListItem();
temp.data[ListItem.NAME] = s.next();
Log.i("AsyncTask", temp.data[ListItem.NAME]);
if (temp.data[ListItem.NAME].contains(txt[0])) {
Log.i("match", "found");
add = true;
}
temp.data[ListItem.MAKAT] = s.next();
Log.i("AsyncTask", temp.data[ListItem.MAKAT]);
if (temp.data[ListItem.MAKAT].contains(txt[0])) {
add = true;
}
temp.data[ListItem.JHAZIT] = s.next();
temp.data[ListItem.KOMA] = s.next();
temp.data[ListItem.MESPAR] = s.next();
if (add) {
this.publishProgress(temp);
}
}
while (s.hasNext());
}
finally {
s.close();
}
return null;
}
我取出信息的文件名为 data.txt :
桶 4315124 2 3 43
车 414124 2 4 41
Red_box 4315124 1 2 77
Glass_cup 4515124 4 7 10
Iron_cup 4515124 4 7 9
Gabi_Noob 5717217 7 8 9 מכסה_158ו35 8 46