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. 按照给定的字符集存储文件时,在文件的最开头的三个字节中就有可能存储着编码信息,所以,基本的原理 ...
最新文章
- micropython esp8266教程_ESP8266 快速开发指南
- 架构杂谈《八》Docker 架构
- python字符串前面加f什么意思_Python 字符串前面加u,r,b,f的含义
- MYSQL 表 部分数据导出、导入
- ECCV 2020 论文大盘点-姿态估计与动作捕捉篇
- CVPR 2020 论文大盘点-超分辨率篇
- mysql glibc包很大_linux 安装 mysql 的 glibc 包
- 2018 CCPC 桂林站(upc复现赛)总结
- 文件服务器程序,CuteHttpFileServer(文件共享服务器软件)
- Linux-Shell脚本教学
- OC 5217欧创芯原装芯片一款连续电感电流导通模 式的降压型 LED 恒流驱动器,SOT23-5 封装
- java实现五子棋获胜判断
- torch.ones理解
- “Failed to load response data“ django@xframe_options_exempt 网站不许 Firefox 显示被嵌入的网页
- ctf的flask模板注入config、current_app、url_for和get_flashed_messages(转自浩哥)
- 抖音 快手 等短视频自动向下滑动
- git服务器+查文件大小,Git项目过大清理(针对大文件)
- 比尔·盖茨最新分享:ChatGPT的发展,不止于此
- 小学生都能读懂的区块链原理和术语介绍(故事图文)-引自《从零开始自己动手写区块链》
- 软件工程与计算II-19-软件测试