Чтение строки txt файла в ресурсах - PullRequest
0 голосов
/ 08 августа 2011

У меня есть текстовый файл, помещенный в ресурсы, и я хочу прочитать по одной строке за раз. Моя проблема в том, что я не знаю, как получить доступ к файлу в Activity, а затем, когда я получу к нему доступ, как мне выбрать только одну строку?

Если хранение txt-файла в ресурсах - плохая идея, куда мне его поместить для более легкого доступа?

Я очень ценю любую помощь!

Ответы [ 3 ]

2 голосов
/ 08 августа 2011

Это фрагмент, который я использую для предварительного заполнения таблиц в своей программе чтения RSS-каналов.Вы можете использовать его как трек для ваших нужд.

В res/raw/ У меня есть файл feeds.txt.Ссылка на файл имеет код типа R.raw.feeds.

    final Resources resources = mHelperContext.getResources();
    InputStream inputStream = resources.openRawResource(R.raw.feeds);
    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream), 8192);

    try {
        String line;
        while ((line = reader.readLine()) != null) {
             //make the use you want with "line"
        }
    } catch (IOException e) {
        Log.e(TAG, "Error loading sample feeds.");
        throw new RuntimeException(e);
    }
1 голос
/ 08 августа 2011

Чтобы открыть тесты, вам нужно позвонить

<context>.getAssets().open(<your file>);

<context> - это ваша деятельность, поэтому, если это в вашем onCreate, тогда это будет this.Этот вызов возвращает входной поток, который вы можете затем обработать, как вам угодно.

Я не понимаю, как было бы особенно плохой идеей хранить там ваш текстовый файл, зависит от того, какой текст вы используетефайл для.

0 голосов
/ 08 августа 2011

Попробуйте это:

Создайте новый метод, например, readMyFile (). Это должно выглядеть так:

private String readMyFile(File file) throws IOException {
     BufferedReader reader = new BufferedReader(new FileReader(file));
     StringBuilder txt = new StringBuilder();
     String line;

     while ((line = reader.readLine()) != null) {
        txt.append(line);
        txt.append("\n");
}

reader.close();
return txt.toString();

Вставьте его в свой код и используйте метод (readMyFile ([файл, который вы хотите прочитать в активах]).

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...