Android 从txt文件中读取特定部分无效

Android 从txt文件中读取特定部分无效,android,text,Android,Text,这是我的代码: File root = Environment.getExternalStorageDirectory(); File dir = new File (root.getAbsolutePath() + "/Bonbon info"); dir.mkdirs(); File f = new File(dir, "paket.txt"); StringBuilder text = new StringBuilder()

这是我的代码:

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

        StringBuilder text = new StringBuilder();


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

            br.skip(60);

            int charactersRead = 0;

            while ((line = br.readLine()) != null && charactersRead < 12) {
                            text.append(line);
                            text.append('\n');
                            charactersRead++;
            }
        }
        catch (IOException e) {
        }

        final String URL = text.toString();

        TextView tv = (TextView)findViewById(R.id.textView2);
        tv.setText(text);
File root=Environment.getExternalStorageDirectory();
File dir=新文件(root.getAbsolutePath()+“/Bonbon info”);
dir.mkdirs();
文件f=新文件(dir,“paket.txt”);
StringBuilder text=新的StringBuilder();
试一试{
BufferedReader br=新的BufferedReader(新文件读取器(f));
弦线;
br.skip(60);
int charactersRead=0;
while((line=br.readLine())!=null&&charactersRead<12){
text.append(行);
text.append('\n');
字符READ++;
}
}
捕获(IOE异常){
}
最终字符串URL=text.toString();
TextView tv=(TextView)findViewById(R.id.textView2);
tv.setText(文本);

阅读是有效的,但我不能只阅读12个字符,它会从文件的末尾读取,不知道为什么。

我猜你的文件相对较短

您正在调用
BufferedReader.readLine()
,为了提高效率,它会占用文件流的一大块,而不是逐个字符地处理


如果您想更好地控制阅读内容,那么直接使用
InputStream
实现可能是值得的。

我不明白。每读一行就增加一个字符数?不知道,这里给了我一个例子??我有一个大约90个字符的文本文件,但我不想读取61到72个字符并将其保存在字符串中。。。。那么,你能不能给我一些建议,告诉我如何使用这个方法?对于这样一个小的文件,最简单的方法可能是将整个内容读入一个
字符串
,然后调用
substring()
,以提取所需的块。然而,如果您的数据变得更大、更复杂或频繁更改,您将需要重新考虑该策略。