zoukankan      html  css  js  c++  java
  • java多线程实例之查找文件夹下面包含特定字符串的文件

    使用多线程,遍历目录下所有的文件(包括子文件夹),找出文件内容包括search字符串的的那些文件,并打印出来。这里使用匿名内部类创建线程。

    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    
    public class FileSearch {
    	public static void search(File folder, String search){
    //		if(folder.length()==0)
    //			return;
    	    if(folder.exists()){
    	    	File[] files = folder.listFiles();
    	    	for(File file:files){
    				if(file.isDirectory()){
    					search(file.getAbsoluteFile(),search);
    				}else{		//如果是文件,则对文件进行查找,查找到的话就输出文件路径
    					System.out.println("文件下包含的文件:"+file.getAbsolutePath());
    					Thread thread = new Thread(){
    						public void run() {
    							
    							try {
    								FileReader reader=new FileReader(file);
    								String str="";	//记录文件的所有字符
    								int ch=0,j=0;
    								while((ch=reader.read())!=-1){
    									 str += (char) ch;    
    								}
    								if (str != null)    
    					            {    
    					                if (str.indexOf(search, 0) != -1)     //从开头开始索引,找到一个就输出路径
    					                {    
    					                	System.out.println("查找到字符串,文件:"+file.getAbsolutePath());
    					                }    
    					            }    
    							} catch (FileNotFoundException e) {
    								e.printStackTrace();
    							}catch (Exception e) {
    								e.printStackTrace();
    							}
    							
    						}
    					};
    					thread.start();  	  //启动查找线程
    				}
    			}
    	    }
    	}
    	
    	public static void main(String[] args) {
    		search(new File("E:\Coding\JAVA\MultilThread\MultilThreadLearn\src\test"),"testnidauye");
    	}
    }
    

      

  • 相关阅读:
    Springsecurity3.1.3配置多个登陆页面
    将数字转换为大写(保留小数点后面2位)
    纯JavaScript实现的二维码图片生成器
    poi导出excel
    发送邮件
    Lodop实现打印功能
    遍历list
    循环监听输入框回车事件
    监听回车事件记录
    简单的事务操作过程
  • 原文地址:https://www.cnblogs.com/271934Liao/p/6894352.html
Copyright © 2011-2022 走看看