SQLite データベースにプリロードする必要があるデータを含むテキスト ファイルがあります。res/raw に保存しました。
を使用してファイル全体を読み取り、クラスreadTxtFromRaw()を使用しStringTokenizerてファイルを 1 行ずつ処理します。
ただし、Stringによって返されるreadTxtFromRawには、ファイル内にある外国の文字は表示されません。テキストの一部がスペイン語またはフランス語であるため、これらが必要です。何か不足していますか?
コード:
String fileCont = new String(readTxtFromRaw(R.raw.wordstext));
StringTokenizer myToken = new StringTokenizer(fileCont , "\t\n\r\f");
readTxtFromRaw メソッドは次のとおりです。
private String readTxtFromRaw(Integer rawResource) throws IOException
{
InputStream inputStream = mCtx.getResources().openRawResource(rawResource);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
int i = inputStream.read();
while (i != -1)
{
byteArrayOutputStream.write(i);
i = inputStream.read();
}
inputStream.close();
return byteArrayOutputStream.toString();
}
このファイルは Eclipse を使用して作成されており、Eclipse ではすべての文字が正常に表示されます。
これは Eclipse 自体と関係がありますか? ブレークポイントを設定し、ウォッチ ウィンドウで myToken をチェックアウトしました。変な文字を正しい文字 (たとえば、í、é) に手動で置き換えようとしましたが、できませんでした。