指定行数,可以获取到从这行到文件尾的所有行,分享自大熊。

源文件:

读取最后10行结果

import java.io.File;

import java.io.IOException;

import java.io.RandomAccessFile;

import java.util.ArrayList;

import java.util.List;

/**

*

* 文件读取类

*

* @author 大熊 www.zuidaima.com

* @version [1.0, 2013-7-24]

* @since [面试/1.0]

*/

public class ReadFile

{

//Main函数,程序入口

public static void main(String[] args)

{

//调用读取方法,定义文件以及读取行数

readLastNLine(new File("D:\\apache-tomcat-7.0.40\\RUNNING.txt"), 10L);

}

/**

* 读取文件最后N行

*

* 根据换行符判断当前的行数,

* 使用统计来判断当前读取第N行

*

* PS:输出的List是倒叙,需要对List反转输出

*

* @param file 待文件

* @param numRead 读取的行数

* @return List

*/

public static List readLastNLine(File file, long numRead)

{

// 定义结果集

List result = new ArrayList();

//行数统计

long count = 0;

// 排除不可读状态

if (!file.exists() || file.isDirectory() || !file.canRead())

{

return null;

}

// 使用随机读取

RandomAccessFile fileRead = null;

try

{

//使用读模式

fileRead = new RandomAccessFile(file, "r");

//读取文件长度

long length = fileRead.length();

//如果是0,代表是空文件,直接返回空结果

if (length == 0L)

{

return result;

}

else

{

//初始化游标

long pos = length - 1;

while (pos > 0)

{

pos--;

//开始读取

fileRead.seek(pos);

//如果读取到\n代表是读取到一行

if (fileRead.readByte() == '\n')

{

//使用readLine获取当前行

String line = fileRead.readLine();

//保存结果

result.add(line);

//打印当前行

System.out.println(line);

//行数统计,如果到达了numRead指定的行数,就跳出循环

count++;

if (count == numRead)

{

break;

}

}

}

if (pos == 0)

{

fileRead.seek(0);

result.add(fileRead.readLine());

}

}

}

catch (IOException e)

{

e.printStackTrace();

}

finally

{

if (fileRead != null)

{

try

{

//关闭资源

fileRead.close();

}

catch (Exception e)

{

}

}

}

return result;

}

}

原文:http://blog.csdn.net/springmvc_springdata/article/details/43226345

java 读取文件第n行_java读取文件最后N行相关推荐

  1. java读取文件的方法是_Java读取文件方法大全

    Java读取文件方法大全 2011/11/25 9:18:42  tohsj0806  http://tohsj0806.iteye.com  我要评论(0) 摘要:文章来源:http://www.c ...

  2. java获取xlsx某列数据_Java读取Excel指定列的数据详细教程和注意事项

    本文使用jxl.jar工具类库实现读取Excel中指定列的数据. jxl.jar是通过java操作excel表格的工具类库,是由java语言开发而成的.这套API是纯Java的,并不依赖Windows ...

  3. JAVA读取2g数据的速度_Java 读取大容量excel

    项目要求导入excel, 但是文件很大,一次性读进去会导致内存不足而报错, 下面是我解决的方法: 首先倒入需要的jar org.apache.poi poi-ooxml 3.17 org.apache ...

  4. JAVA随机读写功能实现类_Java 实现文件随机读写-RandomAccessFile

    RandomAccessFile是Java中输入,输出流体系中功能最丰富的文件内容访问类,它提供很多方法来操作文件,包括读写支持,与普通的IO流相比,它最大的特别之处就是支持任意访问的方式,程序可以直 ...

  5. java文件读写的基本类_Java读写文件常用方法

    一.字符流:读写纯文本(txt,csv等), 1 字符流写文件主要用:FileWriter,BufferedWriter,PrintWriter 1.1 测试 FileWriter 写入 privat ...

  6. java遍历文件夹下的_Java遍历文件夹下的所以文件

    利用Java递归遍历文件夹下的所以文件,然后对文件进行其他的操作.如:对文件进行重命名,对某一类文件进行重编码.可以对某一工程下的全部.java文件进行转码成utf-8等 代码如下,这里只对文件进行重 ...

  7. java 获取md5值报错_java获取文件的MD5值

    package com.sichang.util; import java.io.File; import java.io.FileInputStream; import java.math.BigI ...

  8. java 创建文件夹的方法_Java创建文件夹的方法

    Java创建文件夹的方法 /** * 用于创建文件夹的方法 * @param mkdirName */ public void mkdir(String mkdirName) { try { File ...

  9. java实现文件加密与解密_Java实现文件的加密解密功能示例

    本文实例讲述了Java实现文件的加密解密功能分享给大家供大家参考,具体如下: package com.copy.encrypt; import java.io.File; import java.io ...

  10. java 判断是否为cst格式_Java判断文件编码格式

    1:简单判断是UTF-8或不是UTF-8,因为一般除了UTF-8之外就是GBK,所以就设置默认为GBK. 按照给定的字符集存储文件时,在文件的最开头的三个字节中就有可能存储着编码信息,所以,基本的原理 ...

最新文章

  1. 用jQuery实现文件的上传,后台为spring+mybatis
  2. 使用Python和OpenCV进行文本偏斜校正
  3. (八)适配器模式详解
  4. 李开复老师:微博改变一切
  5. xay loves or 异或
  6. python 指针_python入门指针
  7. 如何在Java 8中创建线程安全的ConcurrentHashSet?
  8. 【性能测试】Linux系统监控-CPU信息
  9. Java多线程——同步问题
  10. AtomicBoolean介绍与使用
  11. Selenium alert 弹窗处理
  12. sql server 当月天数
  13. silverlight3:(ItemControl 的)UI Virtualization
  14. GMap.Net开发之自定义Marker
  15. git 下载指定历史版本
  16. 轻松查询多个韵达快运最后物流中含有某个地方的单号
  17. 【ATF】庄卓然(南天):掌上精彩-连接过去与未来
  18. 解决mingw-w64外网下载太慢问题,离线包安装配置过程讲解
  19. 软件工程师不可不知的10个概念 收藏
  20. 以太网2出现两个ip地址-解决办法

热门文章

  1. [ZT]一些界面标准规范(来自因特网)
  2. Spring与Struts2的PK
  3. aardio 判断是否存在文件
  4. 音视频开发基础(2):数字视频技术简介
  5. Java小记-Spring框架(超级无敌认真好用,万字收藏篇!!!!)
  6. win10设置锁屏密码
  7. 连载翻译 | 流形学习的数学基础-1介绍
  8. OpenCV-Python官方教程-22-Harris角点检测
  9. 从应用中的Binder谈起
  10. 手机 pdf 宝宝 学字