public static void main(String[] args) throws Exception { File file = new File("E:/a.txt"); // 100M long start = System.currentTimeMillis(); String lastLine = readLastLine(file, "gbk"); long delt = System.currentTimeMillis() - start; System.out.println(lastLine); System.out.println("读取时间(毫秒):" + delt); file = new File("E:/b.txt");// 仅一行文字 start = System.currentTimeMillis(); lastLine = readLastLine(file, "gbk"); delt = System.currentTimeMillis() - start; System.out.println(lastLine); System.out.println("读取时间(毫秒):" + delt); } public static String readLastLine(File file, String charset) throws IOException { if (!file.exists() || file.isDirectory() || !file.canRead()) { return null; } RandomAccessFile raf = null; try { raf = new RandomAccessFile(file, "r"); long len = raf.length(); if (len == 0L) { return ""; } else { long pos = len - 1; while (pos > 0) { pos--; raf.seek(pos); if (raf.readByte() == '\n') { break; } } if (pos == 0) { raf.seek(0); } byte[] bytes = new byte[(int) (len - pos)]; raf.read(bytes); if (charset == null) { return new String(bytes); } else { return new String(bytes, charset); } } } catch (FileNotFoundException e) { } finally { if (raf != null) { try { raf.close(); } catch (Exception e2) { } } } return null; }
java读取.txt文件的最后一行
转载文章标签 java 读取最后一行 文章分类 Java 后端开发
上一篇:android---网络编程
下一篇:Android大神博客收集
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
awk第一行与最后一行
awk 排序
awk 排序 -
python最后一行数据 python 读最后一行
python 读取文件最后一行
python 读取文件最后一行 字节数 -
vi 调到第一行和最后一行
gg 跳到文件第一行Shift + g 跳到文件最后一行 chmod 777 abc.txt
前端 数据 数据库 编程语言