У меня есть следующий код.Моя идея в OnCreate, я буду заполнять некоторые категории из текстового файла в / res / raw в моей базе данных.
Сначала токенизируйте прочитанный файл по строкам (myCatToken), затем каждую из них я снова разделючтобы получить идентификатор и имя.
По какой-то причине вместо чтения rat.txt я получаю совершенно другой файл и понятия не имею почему.Файл, который фактически читается, существует в папке / res / raw, однако он имеет другое имя.
Кажется, что он имеет какое-то отношение к ресурсу, который он отправляет readTxtFromRaw, однако я не вижу, чтоне так с ним.
Спасибо
StringTokenizer myCatToken = new StringTokenizer(new String(readTxtFromRaw(R.raw.rat)));
while(myCatToken.hasMoreTokens())
{
StringTokenizer myCatDataToken = new StringTokenizer(myCatToken.nextToken(), ",");
String insertString = new String("insert into " + DATABASE_TABLE_CATEGORIES +
" (" + KEY_CATEGORIES_CATID + ", " + KEY_CATEGORIES_NAME + ") values " +
" (" + myCatDataToken.nextToken() + ", '" + myCatDataToken.nextToken() + "')");
db.execSQL(insertString);
}
Для справки я включаю этот метод, который я использую.mCtx - это контекст:
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();
}