メソッド s.next(); を使用するスキャナーがあります。(「」で区切られた単語全体を読み取ります)英語の文字と単語では正常に機能しますが、ヘブライ語で何かを書くと「??」が返されます 代わりは。
私の電話にはヘブライ語があり、アプリの他のすべての文字列はヘブライ語であり、スキャナーが読み取ったものだけが返されます?????.
ヘルプはありますか?ありがとう :)
スキャナーコード: (asynctask の一部です)
@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