Android - Чтение определенной части из текстового файла? - PullRequest
1 голос
/ 13 сентября 2011

У меня есть текстовый файл, сохраненный на SDCard.Я использую этот код для чтения текста из файла, и он отображается в textView:

File root = Environment.getExternalStorageDirectory();
        File dir = new File (root.getAbsolutePath() + "/Bonbon info");
        dir.mkdirs();
        File f2 = new File(dir, "web_paket.txt");

        StringBuilder text2 = new StringBuilder();

        try {
            BufferedReader br = new BufferedReader(new FileReader(f2));
            String line;

            while ((line = br.readLine()) != null) {
                text2.append(line);
                text2.append('\n');
            }
        }
        catch (IOException e) {
        }

        TextView tv2 = (TextView)findViewById(R.id.textView2);
        tv2.setText(text2);

Этот код работает, он читает файл отверстий и отображает его в textView.Могу ли я прочитать только определенную часть файла, например символы в позициях от 65 до 75?

Ответы [ 2 ]

1 голос
/ 13 сентября 2011

Перед вызовом цикла вызовите br.skip (n), где n - это количество символов, которое вы хотите пропустить. Это приведет вас к началу фрагмента, который вы хотите прочитать. Затем включите счетчик в свой цикл, чтобы вы остановились, когда прочитали достаточно символов. Что-то вроде:

    br.skip(64);

    int charactersRead = 0;

    while ((line = br.readLine()) != null && charactersRead < 10) {
                    text2.append(line);
                    text2.append('\n');
                    charactersRead++;
                }

См. Документацию BufferedReader.skip () .

0 голосов
/ 13 сентября 2011

Я не знаю, относится ли это к текстовым файлам, но для двоичных файлов можно выполнить произвольный доступ к файлу. Проверьте эту ссылку: http://download.oracle.com/javase/tutorial/essential/io/rafs.html

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