给定一个字符串,如何用java在大文本文件中查找是否包含这个字符串?我想写一个搜索字符串的程序,但是刚接触java,请赐教。

解决方案 »

  1.   

    String  类中的index的方法!!
      

  2.   

    package com.test;import java.io.BufferedReader; 
    import java.io.FileReader;
    import java.io.File;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.Reader;public class select 

    public static void main(String[] args) throws IOException {  
    String keys="哈"; //关键字

    String url="d:\\aa";//文件所在目录
    listFile(new File(url),keys); 


    public static void listFile(File file , String key ) throws IOException{
    if(file.isFile()){   //判断是否为全路径   
    try{
    FileReader fr = new FileReader(file.getAbsolutePath());   
        BufferedReader br = new BufferedReader(fr);
        StringBuffer st=new StringBuffer();
        String sts="";    
        sts= br.readLine();
        while(null!=sts){ //循环读取文件    
         st.append(sts);
         sts="";
         sts=br.readLine();
        
        if(st.lastIndexOf(key)!=-1){
          System.out.println("File :"+file.getAbsolutePath());//输出查找到得文件全路径 
         return;//跳出循环
          }
        }
    } catch (IOException e) {
    e.printStackTrace();
    }

    else{ //不是全路径含有子文件夹着把字文件夹得相对路径家名字创建成listFile数组
    File[] files =file.listFiles(); 
    for(int i=0;i<files.length;i++){ 
    listFile(files[i],key);  



    }
    呵呵这个是我临时写的一段代码你看看能不能完成你的需求
      

  3.   

    建议:可以使用java.util.regex(正则表达式)包下Matcher,Pattern类.
         正则表达式是专门用于处理字符搜索,匹配问题的.