Java读取文件最后N行
1、首先在pom文件导入依赖
<!--在Java中,我们可以使用 Apache Commons IO 的 ReversedLinesFileReader 类读取文件的最后几行。 -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
2、写方法,下面是代码
/**
* 读取日志最后N行
* @param path
* @param s
* @param numLastLineToRead
* @return
*/
public static List<String> readLastLine(String path, Charset s, int numLastLineToRead) {
File file = new File(path);
List<String> result = new ArrayList<>();
try (ReversedLinesFileReader reader = new ReversedLinesFileReader(file,s)) {
String line = "";
while ((line = reader.readLine()) != null && result.size() < numLastLineToRead) {
result.add(line);
}
//倒叙遍历
Collections.reverse(result);
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
3、测试
public static void main(String[] args) {
List content=readLastLine("E:\\nohup_output.out",StandardCharsets.UTF_8,100);
System.out.println("content= " + content);
}