相关疑难解决方法(0)

快速阅读文本文件的最后一行?

从Java中的[非常非常大的]文件中读取最后一行文本的最快捷,最有效的方法是什么?

java io file

58
推荐指数
4
解决办法
9万
查看次数

Java:读取HUGE文件的最后n行

我想读取一个非常大的文件的最后n行,而不是使用Java将整个文件读入任何缓冲区/内存区域.

我查看了JDK API和Apache Commons I/O,但无法找到适合此目的的API.

我在想UNIX中的尾部或更少的方式.我不认为他们加载整个文件,然后显示该文件的最后几行.在Java中也应该有类似的方法来做同样的事情.

java file-io large-files

36
推荐指数
4
解决办法
5万
查看次数

按相反顺序逐行读取文件

我有一个java ee应用程序,我使用servlet打印用log4j创建的日志文件.在读取日志文件时,通常会查找最后一个日志行,因此如果以相反的顺序打印日志文件,则servlet会更有用.我的实际代码是:

    response.setContentType("text");
    PrintWriter out = response.getWriter();
    try {
        FileReader logReader = new FileReader("logfile.log");
        try {
            BufferedReader buffer = new BufferedReader(logReader);
            for (String line = buffer.readLine(); line != null; line = buffer.readLine()) {
                out.println(line);
            }
        } finally {
            logReader.close();
        }
    } finally {
        out.close();
    }
Run Code Online (Sandbox Code Playgroud)

我在互联网上找到的实现涉及使用StringBuffer并在打印之前加载所有文件,是不是有代码轻量级方式寻找到文件的末尾并读取内容直到文件的开头?

java text log4j file

28
推荐指数
2
解决办法
4万
查看次数

如何使用java读取文本文件中的最后一行

我正在创建一个日志,我想读取log.txt文件的最后一行,但是一旦读完最后一行,我就无法让BufferedReader停止.

这是我的代码:

try {
    String sCurrentLine;

    br = new BufferedReader(new FileReader("C:\\testing.txt"));

    while ((sCurrentLine = br.readLine()) != null) {
        System.out.println(sCurrentLine);
    }
} catch (IOException e) {
    e.printStackTrace();
} finally {
    try {
        if (br != null)br.close();
    } catch (IOException ex) {
        ex.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

java io bufferedreader

6
推荐指数
2
解决办法
5万
查看次数

Java从头到尾读取.log文件

我试图从头到尾读取.log超过2000行的文件.我不能使用如何在Java中从头到尾读取文件(以相反的顺序)?,文件很大.这是我的代码:

BufferedReader br = null;
try{
  br = new BufferedReader(new  FileReader(dataFile.getAbsolutePath())); // the log file
}catch(FileNotFoundException FNFE){
  FNFE.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

并阅读文件:

String line = null;
String lastLine = null;
while((line=br.readLine()) != null){
  lastLine = line; //setting lastLine to the last line in the file
}
Run Code Online (Sandbox Code Playgroud)

有没有一种方法来获得这条线?

java

1
推荐指数
1
解决办法
317
查看次数

标签 统计

java ×5

file ×2

io ×2

bufferedreader ×1

file-io ×1

large-files ×1

log4j ×1

text ×1