Android - 从txt文件中读取特定部分?

时间:2011-09-12 22:57:28

标签: android textview

我在SD卡上保存了一个txt文件。我使用此代码从文件中读取文本,并在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 个答案:

答案 0 :(得分:1)

在循环开始之前调用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() documentation

答案 1 :(得分:0)

我不知道这是否适用于文本文件,但对于二进制文件,可以对文件执行随机访问。查看此链接:http://download.oracle.com/javase/tutorial/essential/io/rafs.html