「java高效提取文本文件」如何批量提取文本文件内容

博主:adminadmin 2022-12-30 04:30:07 1121

本篇文章给大家谈谈java高效提取文本文件,以及如何批量提取文本文件内容对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

如何提高java读取大文本文件的效率

JavaNIO的创建目的是为了让Java程序员可以实现高速I/O而无需编写自定义的本机代码。JavaNIO的高效得益于其两大"助手":Channel和Buffer。NIO将最耗时的I/O操作(即填充和提取缓冲区)转移回操作系统,因而可以极大地提高速度。

java快速读取文本文件最后一行数据,文本文件非常大

用RandomAccessFile

用seek(long pos) 跳到最后一个字节,然后一个字节一个字节往回查,查到换行符为止。

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语言编程,怎么读取整个文本文件?

File f = new File("z:/prism/bad.prism");\x0d\x0aFileReader r = new FileReader(f);\x0d\x0aBufferedReader b = new BufferedReader(r);\x0d\x0aString s;\x0d\x0awhile((s = b.readLine()) != null){\x0d\x0aString[] str = s.split("\\|");\x0d\x0aTest test = new Test();\x0d\x0atest.insert(str[0],Integer.parseInt(str[1]));\x0d\x0a}\x0d\x0ab.close();\x0d\x0ar.close();\x0d\x0a\x0d\x0a读取某一行这是这么读,自己计数就行了,有多少行还是这么读

关于java高效提取文本文件和如何批量提取文本文件内容的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。