`
luogen33
  • 浏览: 81003 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

java从文件尾部读文件

 
阅读更多
package read.file.form.emd;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;

public class ReadFileFromEndUtils {

public static void main(String[] args) {
System.out.println(getUsefulStr("d:/file.txt", 1024, "machine"));

System.out.println(getVersion(getUsefulStr("d:/file.txt", 1024,
"machine"), "machine"));
}

/**
* 获得 需要解析的字符串
*
* @param fileName
*            要解析的文件
* @param len
*            从后面的len个字节,开始处理
* @return string 需要解析的字符串
*/
public static String getUsefulStr(String fileName, long len,
String prexString) {
RandomAccessFile randAccFile = null;
try {
// 获得随机读文件的流
randAccFile = new RandomAccessFile(fileName, "r");
// 获得文件的总长度,按字节统计
long length = randAccFile.length();
// 根据要读的字节数设置,文件读写指针的位置.
randAccFile.seek(length - len);
// 一次读10个字节,如果文件内容不足10个字节,则读剩下的字节
// 将一次读取的字节数赋给byteread
String str = "";
while (true) {
str = randAccFile.readLine();
if (null == str) {
break;
}
if (str.contains(prexString)) {
// System.out.println(str);
return str;
}
}
} catch (FileNotFoundException e) {
// 做日志,要解析的文件不存在
e.printStackTrace();
} catch (IOException e) {
// 做日志,io流异常
e.printStackTrace();
} finally {
if (randAccFile != null) {
try {
randAccFile.close();
} catch (IOException e) {
// 做日志,关闭io失败
e.printStackTrace();
}
}
}
return null;
}

/**
* 获得 version
*
* @param str
*            要处理的字符串
* @param prexString
*            版本号码前面的字符 ,例如:version=20010(该方法要更具,你的具体需求调整)
* @return
*/
public static String getVersion(String str, String prexString) {
int index = str.indexOf(prexString);
String version = str.substring(index + prexString.length(), index
+ prexString.length() + 6);
return version;
}
}
分享到:
评论

相关推荐

    java 读取文件

    一、多种方式读文件内容。 1、按字节读取文件内容 2、按字符读取文件内容 3、按行读取文件内容 4、随机读取文件内容 二、将内容追加到文件尾部

    文件尾部分割器

    1. 本文件分割器可提取文件尾部指定大小的内容,支持1G以上文件分割 2. 使用前请确保电脑已安装JAVA 6及以上版本的运行环境 (检测办法,在cmd窗口中执行 java -version命令, 若提示无法找到java命令,请到百度...

    java在文件尾部追加内容的简单实例

    下面小编就为大家带来一篇java在文件尾部追加内容的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Java工具类:将内容追加到文件尾部

    内容概要:1,A方法追加文件:使用RandomAccessFile 2,B方法追加文件:使用FileWriter

    java文件编码GBK转utf8完美解决方案

    idea、Eclipse等项目导入.java文件中文乱码完美解决方案:文件夹下所有GBK编码的.java一键转为utf-8,操作方式:将GBK2UTF8.jar文件考到需要转码项目目录,在当前位置运行控制台,输入命令java -jar GBK2UTF8.jar,...

    用java 编写的 ,编写一个计算机程序用来计算一个文件的16位效验和。最快速的方法是用一个32位的整数来存放这个和。

    若数据字节长度为奇数,则在数据尾部补一个字节的0以凑成偶数。  例子:16位效验和计算,下图表明一个小的字符串的16位效验和的计算。 为了计算效验和,发送计算机把每对字符当成16位整数处理并计算效验和。如果...

    JCola:用Java Swing编写的文件尾部应用程序-开源

    JCola是用Java Swing编写的文件尾部应用程序。 这个多线程应用程序可以同时尾随无限数量的日志文件,并模拟具有更多功能的“ tail -f”。

    KCLog.java

    * // (可选) 设置日志输出文件(追加到文件尾部) * Log.setLogOutFile(new File("MyLog.log")); * // (可选) 设置日志输出位置(是否输出到控制台 和 是否输出到文件), 默认只输出到控制台, 不输出到文件 * Log....

    根据RTF模板生成WORD,WORD转PDF

    利用RTF模板生成WORD文件,把WORD文件转为PDF文件;解决FREEMARKER生成的WORD文件直接转PDF文件不成功的问题,解决乱码问题

    javalist数据结构-Java数据结构-------List.pdf

    javalist数据结构_Java数据结构-------List 三种List:ArrayList,Vector,LinkedList 类继承关系图 ArrayList和Vector通过数组实现,⼏乎使⽤了相同的算法;区别是ArrayList不是线程安全的,Vector绝⼤多数⽅法做了...

    java函数呀

    "java 函数详解" 作为一个专业的 IT 行业大师,我将为您详细解释 Java 函数中的知识点。 1. 添加元素:`add(E e)` 方法将指定的元素添加到列表的尾部。`add(int index, E element)` 方法将指定的元素插入列表中的...

    文件添加器(小工具)C#实现

    通过这个小程序,你可以将你自己写的东西加上标签,可以选择添加至文件的头部还是...举个例子,你写了一大堆java文件,现在只要运行本程序,你就可以给每一个Java文件添加上相同的内容,比如:作者***。不错的创意吧。

    YOLO目标检测+汽车头部尾部识别数据集已标注可以直接使用(2000张图像+对应已标注文件).rar

    1、资源描述:汽车要分清头部尾部一共有2002张图片标注,耗时5天,包含图片和标签,下载即可在yolov5训练 2、资源特点:数据质量高、标注框质量高,可以直接用于yolo目标检测 3、适用对象:计算机,电子信息工程、...

    java8源码--:——

    java8 源码 InfectStatistic 疫情统计-作业完成流程: fork该仓库到你的仓库,在根目录新建目录,目录名...example/result下提供了三个测试用例的标准输出,对应的命令在文件尾部提供了,即对example/log下的日志,输入

    java大数据案例_1云计算、大数据、hadoop

    1环境常规设置 问题 依次完成以下5个小题的...”,然后配置该脚本的环境变量HELLO_HOME为/home/xxx/test,PATH环境变量尾部添加/home/xxx/test/bin,回到用户目录使用hello.sh运行查看结果 5) 配置文件打开最大数为65535

    java反编译源码保护-apksheller:apk一键加固工具(JAVA层加密DEX,防反编译)

    shellApplicationSourceCode),将原APK的DEX文件加密保存到壳DEX尾部,然后将原APK文件中的原DEX文件替换为壳DEX,并修改原APK文件里AndroidManifest.xml的applicationandroid:name字段,实现从壳DEX启动。...

    java8源码-fzu2020:疫情统计-主仓库

    java8 源码 InfectStatistic 疫情统计-作业完成流程: 1 fork该仓库到你的仓库,在根目录新建目录,目录名为你的学号 ...5.example/result下提供了三个测试用例的标准输出,对应的命令在文件尾部提供了,即对example/lo

    信息隐藏隐写与分析

    1、隐写:分别完成位图格式图像头文件冗余、图片尾部追加和数据区覆盖三种隐写。 2、分析:分别完成位图格式图像头文件冗余、图片尾部追加和数据区覆盖三种隐写图像与正常图像的分析及隐写数据的提取。

    webtail:Spring Boot应用程序通过HTTP尾部(多个)日志文件并将其输出到文件

    网尾Spring Boot应用程序通过HTTP尾部(多个)日志文件并将其输出到文件

    java8源码-InfectStatistic-main:InfectStatistic-main

    java8 源码 InfectStatistic 疫情统计-作业完成流程: fork该仓库到你的仓库,在根目录新建目录,目录名...example/result下提供了三个测试用例的标准输出,对应的命令在文件尾部提供了,即对example/log下的日志,输入

Global site tag (gtag.js) - Google Analytics