读取文件指定行要用到类LineNumberReader,它是跟踪行号的缓冲字符输入流,其基类是BufferedReader。。它有两个构造方法:
public LineNumberReader(Reader in)
使用默认输入缓冲区的大小创建新的行编号 reader,默认输入缓冲区的大小为8096个字节。
pulbic LineNumberReader(Reader in,int size)
创建新的行编号 reader,将字符读入给定大小的缓冲区。
import javaioFile;
import javaioFileReader;
import javaioIOException;
import javaioLineNumberReader;
public class ReadSelectedLine{
/
读取文件指定行。
/
public static void main(String[] args) throws IOException {
// 指定读取的行号
int lineNumber = 12;
// 读取文件
File sourceFile = new
File("src/Chapter08/ReadSelectedLinejava");
// 读取指定的行
readAppointedLineNumber(sourceFile, lineNumber);
// 获取文件的内容的总行数
Systemoutprintln(getTotalLines(sourceFile));
}
// 读取文件指定行。
static void readAppointedLineNumber(File sourceFile, int lineNumber)
throws IOException {
FileReader in = new FileReader(sourceFile);
LineNumberReader reader = new LineNumberReader(in);
String s = readerreadLine();
if (lineNumber < 0 || lineNumber > getTotalLines(sourceFile)) {
Systemoutprintln("不在文件的行数范围之内。");
}
{
while (s != null) {
Systemoutprintln("当前行号为:"
+ readergetLineNumber());
readersetLineNumber(20);
Systemoutprintln("更改后行号为:"
+ readergetLineNumber());
Systemoutprintln(s);
Systemexit(0);
s = readerreadLine();
}
}
readerclose();
inclose();
}
// 文件内容的总行数。
static int getTotalLines(File file) throws IOException {
FileReader in = new FileReader(file);
LineNumberReader reader = new LineNumberReader(in);
String s = readerreadLine();
int lines = 0;
while (s != null) {
lines++;
s = readerreadLine();
}
readerclose();
inclose();
return lines;
}
}
以上就是关于java如何读取指定行的数据全部的内容,包括:java如何读取指定行的数据、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)