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;
}
}
分享到:
相关推荐
五、将内容追加到文件尾部 如果想要向文件追加内容,而不是覆盖原有内容,可以使用`FileWriter`类的构造函数,传入`true`作为第二个参数,这将打开文件以追加模式。以下是一个示例: ```java FileWriter writer = ...
本示例将探讨如何使用Java生成HTML文件,这是构建动态网站或自动化报告等任务时常见的需求。通过Java生成HTML,我们可以将数据结构转化为用户友好的网页格式,便于在浏览器中查看。 标题 "java代码生成html文件" 指...
在IT行业中,Java是一种广泛应用的编程语言,尤其在处理文件操作和数据库交互方面表现出色。本文将详细探讨如何使用Java解析TXT文件并将其中的数据导入到MySQL数据库中。 首先,我们需要了解的是“建表.sql”文件。...
1. 本文件分割器可提取文件尾部指定大小的内容,支持1G以上文件分割 2. 使用前请确保电脑已安装JAVA 6及以上版本的运行环境 (检测办法,在cmd窗口中执行 java -version命令, 若提示无法找到java命令,请到百度...
### 将内容追加到文件尾部 在Java编程语言中,向文件追加内容是一项常见操作,尤其在处理日志记录、数据备份等场景时非常有用。本文将详细介绍两种常用的方法来实现这一功能:使用`RandomAccessFile`类以及使用`...
Java提供了丰富的类库,如java.io.File和java.nio.file,用于读取、写入和操作文件。在这个项目中,程序可能使用这些类来遍历指定目录下的所有EXE文件。 其次,病毒检测通常涉及到签名匹配、行为分析或启发式方法。...
Java文件压缩是一个常见的任务,特别是在开发环境中,例如Web开发,我们经常需要对文件或文件夹进行打包和压缩以便传输或存储。以下是对`java文件压缩`这个主题的详细阐述: 在Java中,我们可以使用标准库中的`java...
总结来说,这个Java示例提供了一种使用 `RandomAccessFile` 实现倒序读取文件的方法,通过递归和队列管理来高效地获取文件的尾部数据。在实际应用中,可以根据具体需求调整代码,比如增加错误处理、支持流式读取或...
同时,我们需要确保最后一个子文件的大小能正确地覆盖文件尾部的所有剩余数据。 为了追踪和管理切割后的子文件,我们可以使用`File`类来创建、重命名和删除文件。在切割完成后,我们可能还需要提供合并功能,将所有...
本文将详细介绍如何在Java中实现向文件尾部追加内容,并提供两种不同的实现方法。 ### 方法一:使用`RandomAccessFile` `RandomAccessFile` 类允许对文件进行随机读写操作。以下是如何使用 `RandomAccessFile` ...
内容概要:1,A方法追加文件:使用RandomAccessFile 2,B方法追加文件:使用FileWriter
确保目标文件以追加模式打开,这样新的数据会被添加到文件尾部,而不会覆盖已有的内容。 4. **关闭文件**:完成所有读写操作后,关闭所有源文件和目标文件。关闭文件是确保数据完整性的关键步骤。 5. **错误处理**...
这些类可以从相应的压缩文件中读取数据并解压。例如,`ZipInputStream`可以遍历ZIP文件中的所有条目,然后使用`InflaterInputStream`来解压每个条目的内容。 5. **源代码实践**: 源代码部分可能包含了如何创建和...
首先,需要读取原始图片文件,然后解析出元数据,修改所需的信息,最后将修改后的元数据写回文件尾部。 **安全性与兼容性**:虽然在图片尾部写入信息是一种有效的隐藏或存储额外信息的方式,但也需要注意它可能影响...
在本项目中,我们主要探讨的是如何利用Java编程语言来设计和实现一个文件的压缩与解压缩系统。这个系统能够处理各种类型的文件,提供高效、可靠的数据存储和传输解决方案。以下将详细介绍Java在文件压缩与解压缩中的...
idea、Eclipse等项目导入.java文件中文乱码完美解决方案:文件夹下所有GBK编码的.java一键转为utf-8,操作方式:将GBK2UTF8.jar文件考到需要转码项目目录,在当前位置运行控制台,输入命令java -jar GBK2UTF8.jar,...
本篇文章将深入探讨如何在Java中读取Properties文件,以及相关的关键技术和注意事项。 首先,Properties类是Java用于处理属性列表的工具类,它可以加载和保存键值对的数据。以下是一个简单的例子,演示了如何读取...
2. **使用RandomAccessFile**:这种类可以让我们在文件的任意位置进行读写,因此可以用来检测文件尾部的变化,当有新日志时跳转到文件末尾读取。 3. **WatchService API**:Java 7引入了WatchService API,它可以...
解析这个文件时,我们需要找到指定IP地址所在的记录,然后根据字符串索引去文件尾部查找实际的国家和地区名称。 在Java中,可以使用以下步骤来实现: 1. **打开文件**:使用`FileInputStream`打开qqwry.dat文件,...