要求,打印出文本文件的最后n行数据

 /*** 读出文件的最后n行** @param file 文件* @param num  第几行* @return*/public static List<String> readLastNLine(File file, int num) {if (num == 0) {return null;}//判断该文件是否存在,可读if (!file.exists() || file.isDirectory() || !file.canRead()) {return null;}List<String> result = new ArrayList<>();//行数int count = 0;//很多中读取模式,选择只读模式RandomAccessFile read = null;try {read = new RandomAccessFile(file, "r");//读取文件长度long length = read.length();//判断长度if (length == 0L) {return null;} else {//因为是倒数,所以从最大值开始读起long next = length - 1;//当下一个大于0,则代表文章有内容while (next > 0) {next--;//开始读取read.seek(next);//如果读取到\n代表是读取到一行if (read.readByte() == '\n') {//使用readLine获取当前行String line = read.readLine();//保存结果result.add(line);//行数统计,如果到达了指定的行数,就跳出循环count++;if (count == num) {break;}}}//next为0,代表长度为1if (next == 0) {read.seek(0);result.add(read.readLine());}}} catch (IOException e) {e.printStackTrace();} finally {//关闭文件if (read != null) {try {read.close();} catch (IOException e) {e.printStackTrace();}}}return result;}public static void main(String[] args) {File file = new File("test.txt");List<String> result1 = readLastNLine(file, 0);System.out.println("===================");if (null != result1 && result1.size() > 0) {for (int i = result1.size() - 1; i >= 0; i--) {System.out.println(result1.get(i));}}}

读取文本文件的最后n行相关推荐

  1. java读取文件跳过_在Java中读取文本文件-为什么跳过行?

    我是新来的,只是努力尝试读取文本文件.每行上都有一个单词和相应的数字代码.想法是将其读取并将代码和单词放在单独的变量中.我对这个领域了解不多,但是我一直在网上四处寻找,并提出了以下建议: try{ F ...

  2. C++按行读取文本文件

    很多初学C++的同学,对于读取文本文件,并按照行处理数据总是有点不知如何开始,作为C++的初学者,自己在这里做一点笔记. 其实利用C++按行读取文本文件其实很简单.假设有一个文本文件,如下所示: 1  ...

  3. JAVA——读取文本文件的倒数第N行(模拟Linux中tail命令)

    解决方案 1.引入jar包commons-io.jar /*** 读取文件的倒数第3行,并打印其内容*/import java.io.File; import java.io.IOException; ...

  4. 使用java读取文本文件的倒数第N行

    本文主要介绍使用java语言读取文本文件的倒数第N行,并且打印其内容. 1.导入jar包 在工程中导入commons-io.jar,版本为2.4. 2.关键代码 /*** 读取文件的倒数第3行,并打印 ...

  5. 如何使用 System.IO 和 Visual C# 读取文本文件

    本文分步介绍了如何从文本文件 (.txt) 检索信息,然后使用 ArrayList 类向用户显示该信息. 回到顶端 要求 Microsoft Visual C# 2005 或 Microsoft Vi ...

  6. python读取txt数据-python读取文本文件数据

    本文要点刚要: (一)读文本文件格式的数据函数:read_csv,read_table 1.读不同分隔符的文本文件,用参数sep 2.读无字段名(表头)的文本文件 ,用参数names 3.为文本文件制 ...

  7. python读取txt文件第一行-python读取文本文件数据

    本文要点刚要: (一)读文本文件格式的数据函数:read_csv,read_table 1.读不同分隔符的文本文件,用参数sep 2.读无字段名(表头)的文本文件 ,用参数names 3.为文本文件制 ...

  8. python如何读取文本_python怎么读取文本文件

    python怎么读取文本文件? 文件的读取 步骤:打开 -- 读取 -- 关闭>>> f = open('/tmp/test.txt') >>> f.read() ...

  9. C#读取文本文件和C# 写文本文件

    C#读取文本文件和C# 写文本文件 using System; using System.Collections.Generic; using System.Linq; using System.Te ...

最新文章

  1. Bzoj4016: [FJOI2014]最短路径树问题
  2. Python 从入门到精通:一个月就够了?真的能行嘛?
  3. 使用Memcached实现Session共享
  4. oracle解析失败事件,ORACLE诊断事件及深入解析10053事件
  5. 系统优化怎么做-新系统上线前做什么
  6. 解决SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问的方法...
  7. QTableView操作 双击 单机事件信号
  8. 【持续更新】设计技巧++
  9. windows录屏_电脑是怎么录屏的呢?推荐三个录屏实用方法!
  10. 数字化转型需要双模IT
  11. qpython3手机版怎么运行不了_QPython3手机版
  12. 数理统计与数据分析第三版习题 第3章 第33-35题
  13. python中string什么意思_Python:string是什么意思
  14. 男人说这几句话代表他不想娶你
  15. Python——fitter包:拟合样本数据的分布
  16. 使用STAF进行自动化安装测试
  17. 招银网络科技笔试题:数字分解
  18. 可汗学院统计学1-16课笔记
  19. matlab 调整矩阵形状,在MATLAB中调整3D矩阵(图像)的大小
  20. C语言九九乘法表示例

热门文章

  1. php 图桩,如何正确使用灌注桩?
  2. 数据逻辑删除和物理删除的理解
  3. LinuxC64位操作系统下数据类型大小及字、字节、双字
  4. 基于docker的influxdb时序数据库搭建
  5. 翻译: 给有野心的19岁少年的建议——Sam Altman
  6. KindlePW3壁纸越狱设置问题
  7. HTML文件直接在浏览器打开和本地服务器localhost打开有什么区别
  8. stcc52单片机时钟电路_什么是晶振,对于单片机来说它有什么重要作用?
  9. 一文掌握 Python、Anaconda、PyCharm 的安装和使用
  10. Yolov3参数理解