「读取文件行数java」读取文件行数JAVA
今天给各位分享读取文件行数java的知识,其中也会对读取文件行数JAVA进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java如何读取指定行的数据
- 2、java IO流读文件能不能得到行数
- 3、java怎么读取txt文件的行数
- 4、java.io里怎么判断读取文本时的行数
- 5、java如何高效读取文本的第N行和最后N行?
java如何读取指定行的数据
读取文件指定行要用到类LineNumberReader,它是跟踪行号的缓冲字符输入流,其基类是BufferedReader。。它有两个构造方法:
public LineNumberReader(Reader in)
使用默认输入缓冲区的大小创建新的行编号 reader,默认输入缓冲区的大小为8096个字节。
pulbic LineNumberReader(Reader in,int size)
创建新的行编号 reader,将字符读入给定大小的缓冲区。
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.LineNumberReader;
public class ReadSelectedLine{
/**
* 读取文件指定行。
*/
public static void main(String[] args) throws IOException {
// 指定读取的行号
int lineNumber = 12;
// 读取文件
File sourceFile = new
File("src/Chapter08/ReadSelectedLine.java");
// 读取指定的行
readAppointedLineNumber(sourceFile, lineNumber);
// 获取文件的内容的总行数
System.out.println(getTotalLines(sourceFile));
}
// 读取文件指定行。
static void readAppointedLineNumber(File sourceFile, int lineNumber)
throws IOException {
FileReader in = new FileReader(sourceFile);
LineNumberReader reader = new LineNumberReader(in);
String s = reader.readLine();
if (lineNumber 0 || lineNumber getTotalLines(sourceFile)) {
System.out.println("不在文件的行数范围之内。");
}
{
while (s != null) {
System.out.println("当前行号为:"
+ reader.getLineNumber());
reader.setLineNumber(20);
System.out.println("更改后行号为:"
+ reader.getLineNumber());
System.out.println(s);
System.exit(0);
s = reader.readLine();
}
}
reader.close();
in.close();
}
// 文件内容的总行数。
static int getTotalLines(File file) throws IOException {
FileReader in = new FileReader(file);
LineNumberReader reader = new LineNumberReader(in);
String s = reader.readLine();
int lines = 0;
while (s != null) {
lines++;
s = reader.readLine();
}
reader.close();
in.close();
return lines;
}
}
java IO流读文件能不能得到行数
理论上说是不能直接得到的,因为最原始的IO流是字节流也就是说一次只能读到一个字节的数据,这里面根本就没有行数之说;此外,即使使用缓冲流最多也就是每次读进一行已,如果想要得到文件的行数就得等文件读完才知道。
java怎么读取txt文件的行数
import java.io.File;
import java.io.RandomAccessFile;
/**
* 读取文档的第二行内容
*
* @author 3306 2017年3月21日
* @see
* @since 1.0
*/
public class CountLine {
/*
* 读取文件绝对路径
*/
private static String filePath = "d:/cms.sql";
public static void main(String[] args) {
long line = readLine(filePath);
System.out.println(line);
}
/**
* 读取文件行数
*
* @param path
* 文件路径
* @return long
*/
public static long readLine(String path) {
long index = 0;
try {
RandomAccessFile file = new RandomAccessFile(new File(path), "r");
while (null != file.readLine()) {
index++;
}
file.close();
} catch (Exception e) {
e.printStackTrace();
}
return index;
}
}
java.io里怎么判断读取文本时的行数
java IO流操作中,是不能直接通过API得到的,需要遍历这个文件然后统计出来行数,当每读一行的时候,就让变量的值加一,如下代码:
BufferedReader br = new BufferedReader(new FileReader("D:\\test.txt"));
String line = "";
int lineCount = 0;
while((line = br.readLine()) != null)
{
lineCount++;//计数器,统计行数
}
System.out.println("LineCount = " + lineCount);//输出文件行数
java如何高效读取文本的第N行和最后N行?
一般的需求就用java的io 包里的 BufferedReader缓存一下,效率还算可以,
更高的性能要求,读N行或后N行,可以看看java.nio包里的东西。
下面是一个例子程序,给你参考一下(这里是读第N行的,读后N行的把第一个方法稍作修改即可,不举例了,呵呵):
public class ReadSelectedLine {
static void readLineVarFile(String fileName, int lineNumber) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(
new FileInputStream(fileName)));
String line = reader.readLine();
if (lineNumber 0 || lineNumber getTotalLines(fileName)) {
System.out.println("不在文件的行数范围之内。");
}
int num = 0;
while (line != null) {
if (lineNumber == ++num) {
System.out.println("line " + lineNumber + ": " + line);
}
line = reader.readLine();
}
reader.close();
}
// 文件内容的总行数。
static int getTotalLines(String fileName) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(
new FileInputStream(fileName)));
LineNumberReader reader = new LineNumberReader(in);
String s = reader.readLine();
int lines = 0;
while (s != null) {
lines++;
s = reader.readLine();
}
reader.close();
in.close();
return lines;
}
public static void main(String[] args) throws IOException {
// 读取文件
String fileName = "d:/hst_23.txt";
// 获取文件的内容的总行数
int totalNo = getTotalLines(fileName);
System.out.println("There are "+totalNo+ " lines in the text!");
// 指定读取的行号
int lineNumber = 10;
//读取指定行的内容
readLineVarFile("d:/hst_23.txt", lineNumber);
}
}
关于读取文件行数java和读取文件行数JAVA的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-30,除非注明,否则均为
原创文章,转载请注明出处。