我在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位的字符?
答案 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++;
}
答案 1 :(得分:0)
我不知道这是否适用于文本文件,但对于二进制文件,可以对文件执行随机访问。查看此链接:http://download.oracle.com/javase/tutorial/essential/io/rafs.html