package mytools;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
/**
* 这是一个与日志读写有关的类,定义了一些通用的方法
* @author Devon
*
*/
public class LogsReaderWriter {
/**
*
* @param filePath 文件路径的字符串表示形式
* @param KeyWords 查找包含某个关键字的信息:非null为带关键字查询;null为全文显示
* @return 当文件存在时,返回字符串;当文件不存在时,返回null
*/
public static String readFromFile(String filePath, String KeyWords){
StringBuffer stringBuffer = null;
File file = new File(filePath);
if(file.exists()){
stringBuffer = new StringBuffer();
FileReader fileReader = null;
BufferedReader bufferedReader = null;
String temp = "";
try {
fileReader = new FileReader(file);
bufferedReader = new BufferedReader(fileReader);
while((temp = bufferedReader.readLine()) != null){
if(KeyWords ==null){
stringBuffer.append(temp + "\n");
}else{
if(temp.contains(KeyWords)){
stringBuffer.append(temp + "\n");
}
}
}
} catch (FileNotFoundException e) {
//e.printStackTrace();
} catch (IOException e) {
//e.printStackTrace();
}finally{
try {
fileReader.close();
} catch (IOException e) {
//e.printStackTrace();
}
try {
bufferedReader.close();
} catch (IOException e) {
//e.printStackTrace();
}
}
}
if(stringBuffer == null){
return null;
}else{
return stringBuffer.toString();
}
}
/**
* 将指定字符串写入文件。如果给定的文件路径不存在,将新建文件后写入。
* @param log 要写入文件的字符串
* @param filePath 文件路径的字符串表示形式,目录的层次分隔可以是“/”也可以是“\\”
* @param isAppend true:追加到文件的末尾;false:以覆盖原文件的方式写入
*/
public static boolean writeIntoFile(String log, String filePath, boolean isAppend){
boolean isSuccess = true;
//如有则将"\\"转为"/",没有则不产生任何变化
String filePathTurn = filePath.replaceAll("\\\\", "/");
//先过滤掉文件名
int index = filePath.lastIndexOf("/");
String dir = filePath.substring(0, index);
//创建除文件的路径
File fileDir = new File(dir);
fileDir.mkdirs();
//再创建路径下的文件
File file = null;
try {
file = new File(filePath);
file.createNewFile();
} catch (IOException e) {
isSuccess = false;
//e.printStackTrace();
}
//将logs写入文件
FileWriter fileWriter = null;
try {
fileWriter = new FileWriter(file, isAppend);
fileWriter.write(log);
fileWriter.flush();
} catch (IOException e) {
isSuccess = false;
//e.printStackTrace();
} finally{
try {
fileWriter.close();
} catch (IOException e) {
//e.printStackTrace();
}
}
return isSuccess;
}
/**
* 创建文件,如果该文件已存在将不再创建(即不起任何作用)
* @param filePath 要创建文件的路径的字符串表示形式,目录的层次分隔可以是“/”也可以是“\\”
* @return 创建成功将返回true;创建不成功则返回false
*/
public static boolean createNewFile(String filePath){
boolean isSuccess = true;
//如有则将"\\"转为"/",没有则不产生任何变化
String filePathTurn = filePath.replaceAll("\\\\", "/");
//先过滤掉文件名
int index = filePathTurn.lastIndexOf("/");
String dir = filePathTurn.substring(0, index);
//再创建文件夹
File fileDir = new File(dir);
isSuccess = fileDir.mkdirs();
//创建文件
File file = new File(filePathTurn);
try {
isSuccess = file.createNewFile();
} catch (IOException e) {
isSuccess = false;
//e.printStackTrace();
}
return isSuccess;
}
}
- 浏览: 19278 次
- 性别:
- 来自: 南京
相关推荐
在Java编程语言中,读取文件是一项常见的操作,尤其是在处理数据、日志文件或配置信息时。本文将详细解析如何使用Java读取文本文件,基于提供的代码示例,深入探讨其工作原理及最佳实践。 ### Java读取文本文件的...
在Java中,读取本地文件是一项非常常见的操作,尤其是在处理日志文件、配置文件等场景时。本文将详细介绍如何利用Java来读取本地文件,并针对特定行数进行提取。 #### 核心知识点解析 1. **文件读取基础** - 使用...
在本程序中,我们使用 Java 语言的 BufferedReader 类来读取 TXT 文件中的数据。 3. Oracle 数据库:Oracle 数据库是一种关系数据库管理系统,广泛应用于企业软件开发、数据分析等领域。在本程序中,我们使用 Java ...
本文将详细介绍如何在Java中调用本地exe文件,并解析提供的代码示例。 ### 一、Java中调用本地exe文件的基本原理 #### 1.1 调用本地exe文件的方式 在Java中,可以通过`java.lang.Runtime`类或者`java.lang....
"java文件上传,断点续传+aop操作日志"这个主题涵盖了几个关键知识点:文件上传、断点续传技术、AOP(面向切面编程)以及操作日志记录。 1. **文件上传**: 文件上传是指用户通过Web页面将本地文件传输到服务器的...
标题 "java 读取Ftp指定位置的文件解析并入库" 涉及到的是使用Java编程语言通过FTP(File Transfer Protocol)协议从远程服务器上下载文件,然后对下载的文件进行解析,并将解析得到的数据存储到数据库中。...
总结来说,实现Java版钉钉群定时发消息(读取本地txt)需要以下步骤: 1. 创建钉钉群机器人并获取Webhook地址。 2. 使用Java HTTP客户端发起POST请求,发送消息到Webhook。 3. 设计定时任务,如使用`...
JNA允许我们调用Windows API函数,如ReadEventLog,从而读取和解析日志文件。 在设计程序时,首先需要定义一个接口,声明Windows API中的相关函数,如OpenEventLog、ReadEventLog等。然后,通过JNA的Library类加载...
在Java编程中,读取本地文件是常见的任务,无论是在处理配置文件、日志记录还是数据存储时。这里我们将深入探讨两种不同的方法来实现这一功能,即使用`javax.xml`和`dom4j`库进行XML文件的读取。 1. 使用`javax.xml...
### Java FTP 指定下载文件和上传文件到指定的服务器目录 #### 一、概述 在本篇文章中,我们将详细介绍如何使用Java编程语言通过FTP(文件传输协议)实现文件的上传与下载功能,并能够将文件指定上传或下载到特定...
这个项目提供了一个基础的Java-C++文件传输框架,开发者可以根据自身需求进行扩展,例如增加日志记录、传输进度显示等功能,以满足更复杂的应用场景。对于学习和理解网络编程、Socket通信以及跨平台文件传输的人来说...
这个小例子展示了如何使用JNI和C语言来创建一个本地库,用于执行文件的读写操作,从而实现底层的高效控制。下面将详细阐述Android JNI、C语言在Android中的应用以及如何实现文件的读写。 首先,我们需要了解JNI的...
最近由于项目需要,在已有java web工程里添加读取opc的接口类。通过接口将opc数据读取到本地存于oracle数据库中,供本管理系统趋势分析用。本实例在win7、xp系统本地均已调通。压缩包里有本人写的每一步详细说明操作...
2. **文件传输**:文件的传输通常采用TCP/IP协议,通过Socket建立连接,然后利用输入输出流读取和写入文件内容。为了提高效率,可以使用断点续传技术,避免因网络问题导致的文件传输中断。 3. **冲突解决**:在多台...
在Android开发中,读取本地的txt文本是一个常见的需求,比如用于显示用户协议、日志记录或者游戏剧情等。这个“在app中读取本地的txt文本的Android demo”就是一个典型的示例,它展示了如何根据用户操作(点击不同的...
在Java编程中,将文件保存到本地是常见的操作,尤其在处理上传文件或下载数据时。本篇文章将详细介绍如何使用Java实现这一功能。主要涉及的知识点包括文件操作、输入/输出流以及异常处理。 首先,我们要了解Java中...
3. **文件格式化**:为了方便查看,日志文件可能被格式化为易读的文本,每条日志包括时间戳、级别、标签和消息内容。 4. **文件上传功能**:应用可能包含一个接口,允许用户触发日志文件的上传操作,这些文件可以...
这段代码创建了一个`ACTION_SEND`意图,设置其类型为文本,然后添加了本地日志文件的URI作为共享数据。最后,通过`Intent.createChooser`显示一个分享对话框,让用户选择他们想要使用的应用来发送日志文件。 为了使...
文件读写操作是文件上传的另一部分,Java提供了一系列的类如`java.io.File`、`java.io.FileInputStream`、`java.io.FileOutputStream`等来处理文件的创建、读取和写入。一旦Servlet获取到上传的文件流,它会创建一个...
这种功能在日志系统、数据同步、配置文件更新等多种场景中都有广泛的应用。本篇文章将深入探讨如何在Java中实现文件监控,并结合提供的资源进行详细解析。 首先,Java标准库提供了`java.nio.file`包中的`...