「读取文件行数java」读取文件行数JAVA

博主:adminadmin 2022-11-30 17:51:10 58

今天给各位分享读取文件行数java的知识,其中也会对读取文件行数JAVA进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

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的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-30,除非注明,否则均为首码项目网原创文章,转载请注明出处。