JAVA搜索文件内容~

系统 1547 0
我这初学者第一次写博客~ 把我刚写的一段小代码粘贴上来吧
    package local;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class SimpleLocalDriveSearch {
	private static List result = new ArrayList();
	private static List over = new ArrayList();
	/**
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		String ext = new BufferedReader(new InputStreamReader(System.in)).readLine();
		SimpleLocalDriveSearch slds = new SimpleLocalDriveSearch();
		File[] roots = File.listRoots();
		for(int i=0;i<roots.length;i++){
			List found = slds.search(roots[i], ext);
			if(found.size()>0){
				for(Iterator iter = found.iterator();iter.hasNext();){
					System.out.println(iter.next());
					
				}
			}else{
				System.out.println("No match on"+roots[i]);
			}
			if(over.size()>0){
				for(Iterator it = over.iterator();it.hasNext();){
					System.out.println(it.next());
				}
			}
		}		
	}
	/**
	 * 
	 * @return
	 */
	public List search(File startDir,String matchingExtension){
		result.clear();
		resursiveSearch(startDir,matchingExtension);
		return result;
	}
	/**
	 * 
	 * @param rootDir
	 * @param suffix
	 */
	public void resursiveSearch(File rootDir,String suffix){
		File[] files = rootDir.listFiles();
		if(files!=null){
			for(int i=0;i<files.length;i++){
				if(files[i].isDirectory()){
					//System.out.println(files[i]+"............是目录");
					searchDirectory(files[i], suffix);
				}
				if(files[i].isFile() && files[i].getName().contains(suffix)){
						//result.add(files[i]);
						searchFile(files[i], "日志");
				}
			}
		}
	}
	/**
	 * 
	 * @param Dir
	 * @param word
	 * @return
	 */
	public List searchDirectory(File Dir,String word){
		resursiveSearch(Dir, word);
		return result;
	}
	/**
	 * 
	 * @param file
	 * @param w
	 */
	public void searchFile(File file,String w){
		String line = null;
		try {
			BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
			while((line = br.readLine())!=null){
				if(line.contains(w)){
					over.add(file);
				}
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

  

有点乱... 能实现搜索文件里的 内容...

JAVA搜索文件内容~


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论