java 读取文件第n行_java读取文件最后N行
指定行数,可以获取到从这行到文件尾的所有行,分享自大熊。
源文件:
读取最后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行相关推荐
- java读取文件的方法是_Java读取文件方法大全
Java读取文件方法大全 2011/11/25 9:18:42 tohsj0806 http://tohsj0806.iteye.com 我要评论(0) 摘要:文章来源:http://www.c ...
- java获取xlsx某列数据_Java读取Excel指定列的数据详细教程和注意事项
本文使用jxl.jar工具类库实现读取Excel中指定列的数据. jxl.jar是通过java操作excel表格的工具类库,是由java语言开发而成的.这套API是纯Java的,并不依赖Windows ...
- JAVA读取2g数据的速度_Java 读取大容量excel
项目要求导入excel, 但是文件很大,一次性读进去会导致内存不足而报错, 下面是我解决的方法: 首先倒入需要的jar org.apache.poi poi-ooxml 3.17 org.apache ...
- JAVA随机读写功能实现类_Java 实现文件随机读写-RandomAccessFile
RandomAccessFile是Java中输入,输出流体系中功能最丰富的文件内容访问类,它提供很多方法来操作文件,包括读写支持,与普通的IO流相比,它最大的特别之处就是支持任意访问的方式,程序可以直 ...
- java文件读写的基本类_Java读写文件常用方法
一.字符流:读写纯文本(txt,csv等), 1 字符流写文件主要用:FileWriter,BufferedWriter,PrintWriter 1.1 测试 FileWriter 写入 privat ...
- java遍历文件夹下的_Java遍历文件夹下的所以文件
利用Java递归遍历文件夹下的所以文件,然后对文件进行其他的操作.如:对文件进行重命名,对某一类文件进行重编码.可以对某一工程下的全部.java文件进行转码成utf-8等 代码如下,这里只对文件进行重 ...
- java 获取md5值报错_java获取文件的MD5值
package com.sichang.util; import java.io.File; import java.io.FileInputStream; import java.math.BigI ...
- java 创建文件夹的方法_Java创建文件夹的方法
Java创建文件夹的方法 /** * 用于创建文件夹的方法 * @param mkdirName */ public void mkdir(String mkdirName) { try { File ...
- java实现文件加密与解密_Java实现文件的加密解密功能示例
本文实例讲述了Java实现文件的加密解密功能分享给大家供大家参考,具体如下: package com.copy.encrypt; import java.io.File; import java.io ...
- java 判断是否为cst格式_Java判断文件编码格式
1:简单判断是UTF-8或不是UTF-8,因为一般除了UTF-8之外就是GBK,所以就设置默认为GBK. 按照给定的字符集存储文件时,在文件的最开头的三个字节中就有可能存储着编码信息,所以,基本的原理 ...
最新文章
- 用jQuery实现文件的上传,后台为spring+mybatis
- 使用Python和OpenCV进行文本偏斜校正
- (八)适配器模式详解
- 李开复老师:微博改变一切
- xay loves or 异或
- python 指针_python入门指针
- 如何在Java 8中创建线程安全的ConcurrentHashSet?
- 【性能测试】Linux系统监控-CPU信息
- Java多线程——同步问题
- AtomicBoolean介绍与使用
- Selenium alert 弹窗处理
- sql server 当月天数
- silverlight3:(ItemControl 的)UI Virtualization
- GMap.Net开发之自定义Marker
- git 下载指定历史版本
- 轻松查询多个韵达快运最后物流中含有某个地方的单号
- 【ATF】庄卓然(南天):掌上精彩-连接过去与未来
- 解决mingw-w64外网下载太慢问题,离线包安装配置过程讲解
- 软件工程师不可不知的10个概念 收藏
- 以太网2出现两个ip地址-解决办法