JAVA实现读取文件时,从文件的最后一行往上一行行读出来。

最近也是碰到了这么一个需求,写了一个工具类,大家可以参考一下,这里我是写在了main方法里进行了测试

package util;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;

public class ReverseRead {
    public static void main(String[] args) {
        String fileName = "";
        RandomAccessFile r = null;
        try {
            r = new RandomAccessFile(fileName, "r");
            long start = r.getFilePointer();
            long nextend = start + r.length() - 1;
            //System.out.println(nextend);
            String result;
            r.seek(nextend);
            int c = -1;
            while (nextend >= start) {
                c = r.read();
                //System.out.println(c);
                if (c == '\n' || c == '\r') {
                    result = r.readLine();
                    System.out.println(result
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Java中显示文件的最后一行,可以使用以下代码: ```java import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; public class LastLineOfFile { public static void main(String[] args) throws IOException { File file = new File("file.txt"); BufferedReader br = new BufferedReader(new FileReader(file)); String lastLine = ""; String line; while ((line = br.readLine()) != null) { lastLine = line; } System.out.println("Last Line: " + lastLine); br.close(); } } ``` 这个程序会打开一个名为 `file.txt` 的文件,并读取它的最后一行。它使用 `BufferedReader` 来读取文件,并逐行遍历文件内容。当遍历到最后一行,将该行存储在 `lastLine` 变量中,并在控制台上显示出来。 这里还有一个示例,它演示了如何从文件的末尾开始读取数据: ```java import java.io.File; import java.io.RandomAccessFile; public class ReadLastLineOfFile { public static void main(String[] args) throws Exception { File file = new File("file.txt"); RandomAccessFile raf = new RandomAccessFile(file, "r"); String lastLine = ""; long fileLength = file.length() - 1; long filePointer; for (filePointer = fileLength; filePointer >= 0; filePointer--) { raf.seek(filePointer); char c = (char) raf.read(); if (c == '\n') { break; } lastLine = c + lastLine; } System.out.println("Last Line: " + lastLine); raf.close(); } } ``` 这个程序使用 `RandomAccessFile` 类从文件末尾开始读取数据。它从文件的末尾开始读取字符,并将其添加到 `lastLine` 变量中,直到找到第一个换行符为止。然后,它将最后一行文本显示在控制台上。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值