适用范围:只适用于在文本文档中查找(如,txt、java、c等等,并不适用与doc、xls等等这些文件),可嵌套文件夹。但是对中文不支持。

例如:文件夹:F:/demo

子文件夹:F:/demo/ert

查找结果:

最后附上全部代码:

package com.stafen.main;

import java.io.File;

import java.io.IOException;

import java.util.ArrayList;

import java.util.Collection;

import java.util.List;

import org.apache.commons.io.FileUtils;

import org.apache.commons.io.IOUtils;

public class Test {

/** 要查找的字符串 **/

private static String strSearch = "QCNEA";

/** 要查找的目录名称 **/

private static String strPath = "E:/Project";

@SuppressWarnings("unchecked")

public static void main(String[] args) {

File searchDir = new File(strPath);

List list = new ArrayList();

try {

Collection files = FileUtils.listFiles(searchDir, null, true);

List lines = null;

for (File file : files) {

try {

lines = FileUtils.readLines(file, "UTF-8");

} catch (IOException e) {

e.printStackTrace();

}

for (int i = 0; i < lines.size(); i++) {

if (lines.get(i).indexOf(strSearch) != -1) {

Search s = new Search();

s.setFilename(file.getPath());

s.setLine(i + 1);

s.setContent(lines.get(i));

list.add(s);

}

}

}

StringBuffer sb = new StringBuffer();

if(list.size() == 0) {

System.out.println("【没有查到该字符串!】");

return ;

}

for (Search s : list) {

sb.append("文件路径:" + s.getFilename() + "\n行数:" + s.getLine() + " \n所在行内容:" + s.getContent()).append(IOUtils.LINE_SEPARATOR);

sb.append("---------------------------------------------------------------------\n");

}

System.out.println(sb.toString());

} catch (Exception e) {

System.out.println("【没有找到该目录!】");

}

}

}

Search.java文件

public class Search {

private String filename;

private int line;

private String content;

public String getFilename() {

return filename;

}

public void setFilename(String filename) {

this.filename = filename;

}

public String getContent() {

return content;

}

public void setContent(String content) {

this.content = content;

}

public void setLine(int line) {

this.line = line;

}

public int getLine() {

return line;

}

}

Linux 在文件中查找某字符串

命令: grep 'word' filename 在多个文件中查找: grep 'word' file1 file2 file3 更多用法参考:https://www.howtoforge.com/t ...

Linux系统下,在文件中查找某个字符串

在normal模式下按下/即可进入查找模式,输入要查找的字符串并按下回车. Vim会跳转到第一个匹配.按下n查找下一个,按下N查找上一个. Vim查找支持正则表达式,例如/vim$匹配行尾的&quot ...

在文件夹中 的指定类型文件中 查找字符串(CodeBlocks&plus;GCC编译,控制台程序,仅能在Windows上运行)

说明: 程序使用 io.h 中的 _findfirst 和 _findnext 函数遍历文件夹,故而程序只能在 Windows 下使用. 程序遍历当前文件夹,对其中的文件夹执行递归遍历.同时检查遍历到 ...

linux下在多个文件夹中查找指定字符串的命令

例如,想要在当前文件夹下的多个.c或者.txt文件中查找“shutdown”字符串, 可以使用“grep shutdown ./*.c”或“grep shutdown ./*.txt”即可 使用fin ...

Linux平台从文件中查找字符赋值于变量

以telnet方式登录Linux主机,在默认目录下用命令创建一个包含DUT wanIP的文本文件.[root] echo wanIP=88.0.100.253 > ./wanIP.txt在默认目 ...

grep在指定类型的文件中查找字符 (转载)

转自:http://blog.csdn.net/qvbfndcwy/article/details/8127329 find -name '*.php'|xargs grep 'include'//在 ...

在某个目录下的所有文件中查找包含某个字符串的Windows命令

findstr可以完成这个工作.   上面的命令表示,当前目录以及当前目录的所有子目录下的所有文件中查找"string"这个字符串. *.*表示所有类型的文件. /s 表示当前目录 ...

在文件夹下所有文件中查找字符串&lpar;linux&sol;windows&rpar;

在linux下可以用 grep "String" filename.txt#字符串 文件名grep -r "String" /home/#递归查找目录下所有文件 ...

Java-Runoob-高级教程-实例-数组:14&period; Java 实例 – 在数组中查找指定元素

ylbtech-Java-Runoob-高级教程-实例-数组:14. Java 实例 – 在数组中查找指定元素 1.返回顶部 1. Java 实例 - 在数组中查找指定元素  Java 实例 以下实例 ...

随机推荐

C&num;回顾 - 3&period;NET的IO:字节流

使用 Stream 类管理字节流 使用 FileStream 类管理文件数据 使用 MemoryStream 类管理内存数据 使用 BufferedSream 类提高流性能   3.1 FileStr ...

redis监控状态

Redis介绍 Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富.有字符串,链表.哈希.集合和有序集合5种.支持在服务器端计算集合 ...

centos用户权限设置

了解常见的账号配置文件 学会管理用户账号.组账号 学会设置目录或文件的权限 学会设置目录或文件的归属 用户账号文件/etc/passwd   :保存用户名称.宿主目录.登录shall等基本信息 每一行 ...

Spring MVC与表单日期提交的问题

Spring MVC与表单日期提交的问题 spring mvc 本身并不提供日期类型的解析器,需要手工绑定, 否则会出现非法参数异常. org.springframework.beans.BeanIn ...

使用cocos2d 2&period;1制作一条河游戏&lpar;4&rpar;&colon; 主要的游戏逻辑BaseLayer设计

前段时间一直忙着.没有时间更新博客.今天,仍然需要一段时间才能实现对游戏的一小部分,最后打动他. BaseLayer.h: #import #imp ...

ASM时的OFM特性对影的建数据文件名称的影响及为SYSTEM表空间的数据文件使用别名

客户遇到个DG的问题,存储使用的ASM管理,有多个磁盘盘. 在主库创建数据文件,备库自己主动创建的数据文件都在同一磁盘组,而且在主库创建数据文件是指定的是类似**.DBF的名字,到备库也变成了使用AS ...

Prometheus — Process-exporter进程监控

由于我们常用的node_exporter并不能覆盖所有监控项,这里我们使用Process-exporter 对进程进行监控. 安装process-exporter wget https://githu ...

Gradle 学习二

按照本指南,您将创建一个简单的Gradle项目,调用一些基本的Gradle命令,并了解Gradle如何管理项目 1.初始化项目创建项目目录 ❯ mkdir basic-demo ❯ cd basic- ...

Nginx负载均衡的5种策略(转载)

Nginx的upstream目前支持的5种方式的分配 轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除. upstream backserver { s ...

&lt&semi;TCP&sol;IP&gt&semi;链路层小结

图片和部分内容转载自Chang Zhao   这章大致介绍了以太网,以太网帧的格式,网桥和交换机,无线局域网(Wi-Fi),点到点协议,MTU(最大传输单元)的知识点,所谓链路,在此可以解释为 IP数 ...

java文件中查找字符串_Java 在本地文件中查找固定字符串相关推荐

  1. Java抓取起点小说输出到本地文件夹和数据库

    Java抓取起点小说输出到本地文件夹和数据库 目录 项目结构 所需插件 项目代码 输出结果 目录 项目结构 第一次写网络爬虫,参考了别人的,也自己理解了用法 所需插件 因为使用了mevan,直接上po ...

  2. java文件搜索引擎在网页上打开本地文件链接的解决办法

    首先需要强调的是,a标签无法打开本地文件链接(具体为无反应,无跳转). 于是换个思路:由于java程序可以打开本地文件,于是我们可以从网页获取本地文件链接,并将其传到java程序中,然后通过该程序打开 ...

  3. 在asp.net中如何用javascript读取本地Xml中的数据到网页中的文本框?

    在asp.net中如何用javascript读取本地Xml中的数据到网页中的文本框? 转载于:https://www.cnblogs.com/dynasty/archive/2005/08/18/21 ...

  4. c语言字符串路径打开本地文件,C语言文件路径中的”/“和“\“

    在不同系统的情况系   windows下是\,linux和unix下是/  但在win中没有本质区别. 但是由于   \   也是转义字符的起始字符,  所以, 路径中的   \   通常需要使用   ...

  5. java读取本地文件_java 读取本地文件实例详解

    java 读取本地文件实例详解 用javax.xml.w3c解析 实例代码: package cn.com.xinli.monitor.utils; import org.w3c.dom.Docume ...

  6. java接收并存储文件_客户端读取本地文件的数据,发送到服务器,服务器接收并存储到文件中...

    只实现了传送文件的功能. 编写Socket客户端和服务器程序,客户端读取本地文件的数据,发送到服务器,服务器接收并存储到文件中. 消息格式: 字段 长度(单位字节) 内容 -------------- ...

  7. java 读取本地文件_java 读取本地文件实例详解

    java 读取本地文件实例详解 用javax.xml.w3c解析 实例代码: package cn.com.xinli.monitor.utils; import org.w3c.dom.Docume ...

  8. java读取修改文件内容_Java对本地文件内容读取、修改、删除的操作

    import org.apache.commons.lang.StringUtils; import java.io.*; import java.util.HashMap; import java. ...

  9. Java对dat文件内容进行查询_java读写dat文件

    Java的输入输出包括字节流.文件流和对象流等,要注意区分不同流使用的不同类.字... Java的输入输出包括字节流.文件流.对象流等,要注意区分不同流使用的不同类.字... 使用二进制 I/O 将 ...

最新文章

  1. 一款腾讯UED设计的提示插件(使用教程)
  2. 《响应式Web设计:HTML5和CSS3实践指南》——2.9节基于位置伪类的交替行样式
  3. 【详解】以下关于TCP/IP协议栈中协议和层次的对应关系正确的是()
  4. 机器人等级考试一级教具_机器人等级考试一级之“齿轮”
  5. Android串口编程--开关灯Demo(附源码)
  6. nssl1487-图
  7. 级差公排php如何_什么是专业级差?专业级差怎么安排专业?
  8. 重磅!CVPR 2020 论文今起全面开放下载,含主会和workshop
  9. notejs环境搭建
  10. 《Head First设计模式》 读书笔记03 装饰对象
  11. 统计学 常用的数据分析方法大总结,推荐收藏
  12. 2021年末爆发 Log4j 的史诗级Bug漏洞?5分钟教你如何手把手实现
  13. 二重积分x^2+y^2_计算二重积分∫∫(x+y)dxdy,其中D为x^2+y^2≤2x
  14. mysql的联接算法_联接算法
  15. dlna 电脑连r1_电脑上dlna功能怎么用?
  16. SQL SELECT(复杂查询) 之 等值查询 内外连接
  17. qemu搭建arm嵌入式linux开发环境
  18. 转自新浪博客的网页运作原理
  19. Python如何操作Access数据库及如何操作accdb文件
  20. Automation 360 新版AA

热门文章

  1. 在软件测试领域,Java和Python哪个更适合做自动化测试?
  2. 优酷暗黑模式(二):如何建立设计语言标准化管理体系
  3. idea激活云服务器搭建
  4. Ubuntu18.04 开机输入密码后卡死解决方案
  5. C#上位机 APP监控西门子PLC S7-1200
  6. day1 python学习随笔
  7. 最新阿里云ECS服务器S6/C6/G6/N4/R6/sn2ne/sn1ne/se1ne处理器CPU性能详解
  8. Deep Learning:A Review
  9. [pycharm]添加环境变量
  10. 【Nginx】Nginx原理与应用