📜  java 读取文件的最后一行 - Java (1)

📅  最后修改于: 2023-12-03 15:16:01.886000             🧑  作者: Mango

Java读取文件的最后一行

在Java中,有多种方法可以读取文件的最后一行。下面将介绍两种常见的方法。

方法一:使用RandomAccessFile

使用RandomAccessFile类可以实现对文件的随机访问,可以方便地定位到文件的末尾,并读取最后一行。

import java.io.*;

public class FileUtility {
    public static String getLastLineOfTextFile(String filePath) {
        String lastLine = "";
        try {
            RandomAccessFile file = new RandomAccessFile(filePath, "r");
            long fileLength = file.length();
            
            // 从文件末尾逐行读取内容
            for (long i = fileLength - 1; i >= 0; i--) {
                file.seek(i);
                char c = (char) file.read();
                if (c == '\n') {
                    lastLine = file.readLine();
                    break;
                }
            }
            
            file.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return lastLine;
    }
}

使用示例:

String filePath = "path/to/file.txt";
String lastLine = FileUtility.getLastLineOfTextFile(filePath);
System.out.println("最后一行内容:" + lastLine);
方法二:使用BufferedReader

在这种方法中,我们使用BufferedReader类逐行读取文件并记录最后一行。

import java.io.*;

public class FileUtility {
    public static String getLastLineOfTextFile(String filePath) {
        String lastLine = "";
        try {
            BufferedReader reader = new BufferedReader(new FileReader(filePath));
            String line;
            
            // 逐行读取文件,记录最后一行
            while ((line = reader.readLine()) != null) {
                lastLine = line;
            }
            
            reader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return lastLine;
    }
}

使用示例:

String filePath = "path/to/file.txt";
String lastLine = FileUtility.getLastLineOfTextFile(filePath);
System.out.println("最后一行内容:" + lastLine);

以上两种方法均可用来读取文本文件的最后一行。根据实际情况选择适合的方法即可。