⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 searchlocalfile.java~12~

📁 一个java的数据挖掘程序,实现关键字的搜索分类
💻 JAVA~12~
字号:
package search;
import java.io.*;
import java.util.*;
/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2002</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */

public class SearchLocalFile implements Runnable{
  String fileDir;
  String searchString;
  ArrayList errorList = new ArrayList();
  String[][] result;
  public SearchLocalFile() {
    fileDir="";
    searchString="";
  }
  public SearchLocalFile(String fileDir,String searchString) {
    this.fileDir=fileDir;
    this.searchString=searchString;
  }
  public String[] getFileName(){
    File dir=new File(fileDir);
    String fileName[]=dir.list();
    return fileName;

  }
  public void run(){//启动搜索线程
    result = search(getFileName(),searchString);
  }

  public int searchOneFile(String fileName,String searchString){
    FileInputStream is;
    BufferedReader in;
    String text = "";
    String temp = "";
    int count=0;
    int pos=0;
    int len=searchString.length();
    try{
      is = new FileInputStream(fileDir+"/"+fileName);
      in = new BufferedReader(new InputStreamReader(is,"UTF-8"));
      //读取字符并搜索
      while ( (temp = in.readLine()) != null) {
        text += temp;
        if((pos=text.indexOf(searchString))>=0){
          count++;
          text=text.substring(pos+len);
        }
        else if(text.length()>2*len){
          text=text.substring(text.length()-len);
        }
      }
      while((pos=text.indexOf(searchString))>=0){
        count++;
        text=text.substring(pos+len);
      }
      in.close();
      is.close();
      return count;

    }
    catch (FileNotFoundException e) {
      return -1;
    }
    catch (IOException e) {
      return -2;
    }
  }
  public String[][] search(String[] fileName ,String searchString){
    String[][] result=new String[fileName.length][2];
    for(int i=0;i<fileName.length;i++){
      int count = searchOneFile(fileName[i], searchString);
      result[i][0]=fileName[i];
      result[i][1]=String.valueOf(count);
//      if (count == -1)
//        errorList.add("文件" + fileName[i] + "无法打开");
//      else if (count == -2)
//        errorList.add("文件" + fileName[i] + "读写错误");
//      else
    }
    return result;
  }

  public static void main(String[] args) {
    SearchLocalFile searchLocalFile1 = new SearchLocalFile("d:/test","123");

    String[][] result =
    searchLocalFile1.search(searchLocalFile1.getFileName(),searchLocalFile1.searchString);
    for(int i=0;i<result.length;i++){
      System.out.println(result[i][0]+":"+result[i][1]+"次");
    }

  }


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -