代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Java
】
查找目录下文件内容包含某个字符串的文件
作者:
瑕
/ 发布于
2017/9/26
/
774
查找目录下所有文件的文件内容包含特定字符串的文件,并打印输出位置和找到的字符数量。可以定义多个字符进行查找,不需要担心文件格式问题
package com.test; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class SearchStrInPath { public static int mount = 0; public static void main(String[] args) { String filename = "e:\\20161215\\wsbsbb"; //创建一个 File 实例,表示路径名是指定路径参数的文件 File file = new File(filename); args=new String[]{"PW"};// for (int i = 0; i < args.length; i++) { findFile(file, args[i]); print(args[i]); } } public static boolean isTrueFile(File file) { if(!file.exists() || !file.canRead()) return false; if (file.getName().startsWith(".")) return false; if (file.getName().endsWith(".")) return false; return true; } public static void findFile(File file, String word) { File[] listFiles = file.listFiles(); //得到一个File数组,它默认是按文件最后修改日期排序的 for (int i = 0; i < listFiles.length; i++) { if (listFiles[i].isDirectory()) findFile(listFiles[i], word); else if (isTrueFile(listFiles[i])) search(listFiles[i], word); } } public static void search(File file, String word) { try { int j = 0, k = 0, ch = 0; String str = null; FileReader in = new FileReader(file); while ((ch = in.read()) != -1) { str += (char) ch; } if (str != null) { while (str.indexOf(word, j) != -1) { k++; j = str.indexOf(word, j) + 1; // 返回第一次出现的指定子字符串在此字符串中的索引 } } if (k > 0) { System.out.println("在" + file.getAbsolutePath() + "有 " + k+ " 个关键字" + word); mount++; } in.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static void print(String word) { if (mount != 0) { System.out.println("一共找到 " + mount + " 个文件包含关键字" + word + "! \n"); mount=0; } else { System.out.println("没有找到相应的文件"); } } }
试试其它关键字
同语言下
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
可能有用的
.
List 切割成几份 工具类
.
一行一行读取txt的内容
.
Java PDF转换成图片并输出给前台展示
.
java 多线程框架
.
double类型如果小数点后为零则显示整数否则保留两位小
.
将图片转换为Base64字符串公共类抽取
.
sqlParser 处理SQL(增删改查) 替换schema 用于多租户
.
JAVA 月份中的第几周处理 1-7属于第一周 依次类推 29-
.
java计算两个经纬度之间的距离
.
输入时间参数计算年龄
瑕
贡献的其它代码
(
9
)
.
查找目录下文件内容包含某个字符串的文件
.
操作Select的Option上下移动及移除添加
.
检查 HTTP 回应的错误和重定向
.
gridview 过长字段显示...
.
查询前1000个平均最慢的sql
.
提供高级自定义查询功能
.
jQuery遍历对象/数组/集合
.
GPS坐标转换接口调用代码实例
.
DbHelperMySQL
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3