Java中查找指定字符

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

} } // 一个示例 public static void main(String[] args) ...{ // TODO Auto-generated method stub SearchStrInPath s = new SearchStrInPath(); String path = "D:\work\BIMIS\bfms\web\WEB-INF\config\operation\bfms"; s.addCondition("IvtBaseInfoFind"); //s.addCondition("xml");//可增加多个字符串同时查找 //s.addCondition("gb2312"); s.searchPath(path);
private int getConditionNum() ...{ return listCondition.size(); } /** *//** * 增加需要查找的字符串,所有增加的字符串在查找的文件中都找到返加该文件名 * @param str */ private void addCondition(String str) ...{ listCondition.add(str); } /** *//** * 在给定的文件中查找 * @param fileName 文件名 */ public void searchFile(String fileName) ...{ File file = new File(fileName); boolean isTrue = false; try ...{ String strLine = ""; for (int i = 0; i < conditionNum; i++) ...{ FileReader fr = new FileReader(file); BufferedReader br = null; br = new BufferedReader(fr); String condition = listCondition.get(i).toString(); isTrue = false; while ((strLine = br.readLine()) != null) ...{ if (strLine.indexOf(condition) > 0) ...{ isTrue = true; break; } } br.close(); fr.close(); if (!isTrue) ...{ i = conditionNum;// 结束 } } if (isTrue) ...{ System.out.println(fileName); } } catch (Exception e) ...{ // TODO Auto-generated catch block // e.printStackTrace();
} } /** *//** * 在指定的绝对路径中查找指定的字符串 * * @param path * 绝对路径
* @param srcStr * */ public void searchPath(String path) ...{ conditionNum = getConditionNum(); File file = new File(path); if (file.isDirectory()) ...{ File[] fileList = file.listFiles(); for (int i = 0; i < fileList.length; i++) ...{ if (fileList[i].isDirectory())// 是目录就调用递归 ...{ searchPath(fileList[i].getAbsolutePath()); } else ...{ // 下面为设置只读取指定后缀的文件,在这些指定的文件中去查找 if (fileTypeExtendsName == "" || fileList[i].getAbsolutePath().endsWith(fileTypeExtendsName)) searchFile(fileList[i].getAbsolutePath()); } } } else ...{ // 下面为设置只读取指定后缀的文件,在这些指定的文件中去查找 if (fileTypeExtendsName == "" || file.getAbsolutePath().endsWith(fileTypeExtendsName)) searchFile(file.getAbsolutePath()); 要查找的字符串
用 WINDOWS 的内容查找,居然只支持文本文件,不支持如 JSP 等文件。那就自己写一个吧,感觉还可以,将所以包 含查找字符串的全路径都打印出来,这样就能够一目了然了。源程序如 下: import java.io.BufferedReader; import java.io.File; import java.io.FileReader; public class SearchInJspFile ...{ /** *//** * 在指定的文件名中查找对应的字符串,存在就将该文件名绝对路径打印出来 * @param fileName 文件名的绝对路径,String 型 * @param srcStr 要查找的字符串,String 型 */ public void searchFile(String fileName,String srcStr) ...{ File file=new File(fileName); try ...{ FileReader fr=new FileReader(file); BufferedReader br=new BufferedReader(fr); String strLine=""; while((strLine=br.readLine())!=null) ...{ if(strLine.indexOf(srcStr)>0) ...{ System.out.println(fileName); break; } } br.close(); fr.close(); } catch (Exception e) ...{ // TODO Auto-generated catch block e.printStackTrace(); } } /** *//** * 在指定的绝对路径中查找指定的字符串 * @param path 绝对路径 * @param srcStr 要查找的字符串 */ public void searchPath(String path,String srcStr) ...{ File file=new File(path); if(file.isDirectory()) ...{ File[] fileList=file.listFiles();
பைடு நூலகம்
System.out.println("执行完毕!"); } }
for(int i=0;i<fileList.length;i++) ...{ if(fileList[i].isDirectory())//是目录就调用递归 ...{ searchPath(fileList[i].getAbsolutePath(),srcStr); } else ...{ searchFile(fileList[i].getAbsolutePath(),srcStr); } } } else ...{ searchFile(path,srcStr); } } public static void main(String[] args) ...{ // TODO Auto-generated method stub String path="H:\xinkuaijizhunze\src\BIMIS"; String srcStr="<iframe name="pubinfo""; SearchInJspFile s=new SearchInJspFile(); s.searchPath(path, srcStr); System.out.println("执行完毕!"); } } 这个改进了一下,可以在一个文件中查找多个字符串,只有当多个字符串都存在于同一个文件中时,查找条件成立,打 印查找到的文件名及路径。 import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.util.ArrayList; public class SearchStrInPath ...{ ArrayList listCondition = new ArrayList();// 存放条件的列表 int conditionNum;// 查找的条件个数 String fileTypeExtendsName = "";// 在指定的扩展名文件中查找,例如:.xml,不指定就在全部的文件中查找,包括 二进制文件 /** *//** * 取得总条件的个数 * * @return */
相关文档
最新文档