【发布时间】:2012-12-22 11:36:33
【问题描述】:
假设我有一个名为:data.txt(包含 2000 行)的文本文件
我如何读取给定的特定行:500-1500,然后是 1500-2000 并显示特定行的输出?
此代码将读取整个文件(2000 行)
public static String getContents(File aFile) {
StringBuffer contents = new StringBuffer();
try {
BufferedReader input = new BufferedReader(new FileReader(aFile));
try {
String line = null;
while (( line = input.readLine()) != null){
contents.append(line);
contents.append(System.getProperty("line.separator"));
}
}
finally {
input.close();
}
}
catch (IOException ex){
ex.printStackTrace();
}
return contents.toString();
}
如何修改上述代码以读取特定行?
【问题讨论】:
-
你为什么不只计算你是哪一行,如果你在想要的范围内,你会逐行输出?
-
我该怎么做?我知道如何计算,但不确定输出范围内的行
-
你计数,然后用
if语句检查计数。 -
你可能需要绝对文件访问权限,试试 SeekableStream
-
你应该从文件的开头开始计算行数,或者使用
LineNumberReader更好地解析
标签: java bufferedreader file-handling file-read