java递归方法查找某目录下包含有某字符串的文件
最近在安装mysql5.6的时候,因为是免安装版的所以有些配置项需要手动配置。但是配置某一项的时候(例如:max_allowed_packet=xxxxx),不知道max_allowed_packet这个字符串在哪里,找了半天没找到。于是我就想了是否可以用java的递归实现。代买如下:
package test; import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List; public class WordFind
{ public static void main(String[] args)
{
File f = new File("D:\\mysql5.6");
List list = getContainssWordFile(new ArrayList(), f,
"max_allowed_packet", "cnf");
for (int i = 0; i < list.size(); i++)
{
File f_result = (File) list.get(i);
System.out.println(f_result.getAbsolutePath());
}
} public static List getContainssWordFile(List list, File des_file,
final String contains_word, final String serch_file)
{
for (File pathname : des_file.listFiles())
{
if (pathname.isFile())
{
// 如果查询的方法是包含serch_file 如果有,继续判断是否包含文字contains_word
if (pathname.getName().contains(serch_file))
{
try
{
FileReader fr = new FileReader(pathname);
BufferedReader br = new BufferedReader(fr);
String str = "";//
while (null != (str = br.readLine()))
{
if (str.contains(contains_word))
{
// 添加进去
list.add(pathname);
}
}
}
catch (FileNotFoundException e)
{ e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
} } }
else
{
list = getContainssWordFile(list, pathname, contains_word,
serch_file);
}
} return list;
}
}
这个方法也可以改进改进就能达到替换某目录下所有包含某字符串。
java递归方法查找某目录下包含有某字符串的文件的更多相关文章
- linux下查找某个目录下包含某个字符串的文件
有时候要找一些字符串,但是又不知道在哪个文件,只记得一些字符串 那么如何在linux下寻找包含某段文字的文件呢? 强大的find命令可以帮你完成不可能的任务. 比如我只记得我的程序里包含唯一的字符串“ ...
- 运维笔记--Linux查找指定目录下包含某字符串的文件
待整理: 参考:http://blog.sina.com.cn/s/blog_53d496960102xg5c.html 例: find /home/logstash/ -type f | xargs ...
- Linux查找含有特定字符串的文件
Linux查找含有特定字符串的文件命令为grep.以下为详细的使用方法 grep [OPTIONS] PATTERN [FILE...] #实例:递归查找当前文件夹下所有含有test的文件,并显示行号 ...
- python 查找目录下 文件名中含有某字符串的文件
有坑的地方: 如果代码写成这样: [( os.path.abspath(x)) for x in os.listdir(startPath) ] 此代码只能用于当前目录下,listdir列出的都只是文 ...
- C++查找指定目录下所以指定类型的文件
/*************************************************************** 函数名称:FindFile 查找指定目录下指定文件 输入:fileNa ...
- 运维笔记--Linux查找指定目录下某段时间的文件
查找指定目录下,60天之前的文件:find /mnt/xml_data -mtime +60 -name "*.xml" 找到并统计数量:find /mnt/xml_data -m ...
- [bash]查找指定目录下符合格式的txt文件
需求: 查找指定目录下符合yyyy-MM-dd(-b)NNN.txt格式的文件,如“2020-03-22-b888.txt” 目标目录内容: [root@localhost bashs]# ll /r ...
- Java利用MessageDigest提供的MD5算法加密字符串或文件
MD5是常用的加密算法,也经常用于校验信息完整,如文件的完整性.用术语讲,MD5是一种消息摘要算法(Message Digest Algorithm).另外还有一种常用的消息摘要算法SHA1.如果想了 ...
- Java实现将指定目录内的指定类型的文件归类
这两天在学Java IO流,正好让我产生了将自己的电子书归类的打算,说做就做,Why not?看着自己所学所用能解决生活中的实际问题,是不是非常有成就感,那是必须的! package DepthSea ...
随机推荐
- 【Qt开发】 QT:make: Nothing to be done for `first'和error:QtSql:No such file or directory
http://blog.csdn.NET/heqiuya/article/details/7774208 这是QT编程中常见的两个编译错误.可能你的代码在window下编译能正常通过,可是到到Linu ...
- 【计算机视觉】深度相机(五)--Kinect v2.0
原文:http://blog.csdn.NET/qq1175421841/article/details/50412994 ----微软Build2012大会:Kinect for Windows P ...
- springboot datajpa 简明说明
findById返回Optional的使用 查询 public Object lookupDevice(Integer id) { return deviceJpa.findById(id).orEl ...
- Nginx03---重装
1.先执行一下命令 1.1 删除nginx,–purge包括配置文件 sudo apt-get --purge remove nginx 1.2 自动移除全部不使用的软件包 sudo apt-get ...
- Python解Leetcode: 226. Invert Binary Tree
leetcode 226. Invert Binary Tree 倒置二叉树 思路:分别倒置左边和右边的结点,然后把根结点的左右指针分别指向右左倒置后返回的根结点. # Definition for ...
- cmake 简单build和删除
mkdir build cd build cmake .. make
- 用函数来编写实现strlen()函数功能
strlen( )函数: 测试字符串实际长度的函数,它的返回值是字符串中字符的个数(不包含’\0’) //strlen( )函数:测试字符串实际长度的函数,它的返回值是字符串中字符的个数(不包含’\0 ...
- SpringBoot中获取spring.profiles.active的值
一.网上很多采用@Profile("dev")的方式获取,但是这个是类级别的 二.开发中可能需要代码级别 1.刚开始我想通过classpath下的文件读取方式,麻烦死了,于是换了个 ...
- Docker搭建Gitlab代码管理平台
一.Gitlab的安装 宿主机环境: CentOS 7 docker docker-compose 1.查找镜像 docker search gitlab 2.拉取镜像 docker pull git ...
- elementui-插槽
<el-table-column label="操作"> <template slot-scope="scope"> <el-bu ...