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

📄 qindex.java

📁 quick indexing of files
💻 JAVA
字号:
package ae;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.sql.*;

public class qindex extends JFrame implements ActionListener
{

  JLabel lblsearch, lblresult, lblfiles, lblmsg;
  JTextField txtsearch;
  JButton btnsearch, btnexit, btnnext, btnfinish;
  Container cp;
  int scaned=0;
 
  
  int n1=0;
  int count1=0;
  JProgressBar progressBar;
  String drive="";
  Thread t;
  String tmpdir="";
  int count=0;
  int cnt=0;

  String fileind[][];

  
  

public qindex()
{
    setSize(500,250);
    setTitle("Indexing");
    
    lblsearch = new JLabel("Drive:");
    lblresult = new JLabel("Result:");
    lblfiles = new JLabel("");
    lblmsg = new JLabel("");

    txtsearch = new JTextField(40);

    btnsearch = new JButton("Start Indexing");
    
    btnexit = new JButton("Exit");

   
    btnexit.addActionListener(this);
    btnsearch.addActionListener(this);
    btnnext = new JButton("Next");
    btnfinish = new JButton("Finish");


   btnnext.addActionListener(this);
   btnfinish.addActionListener(this);


   progressBar = new JProgressBar();
   //progressBar.setStringPainted(true);

   

    cp = getContentPane();

    cp.setLayout(null);

    cp.add(lblsearch);
    cp.add(txtsearch);
    cp.add(btnexit);
    cp.add(btnsearch);
    cp.add(progressBar);
    cp.add(lblfiles);
    cp.add(lblmsg);
    cp.add(btnnext);
cp.add(btnfinish);
       

    lblsearch.setBounds(10,10,70,30);
    txtsearch.setBounds(85,10,230,30);  
    
   
    btnsearch.setBounds(320,10,130,30);

   lblmsg.setBounds(85,50,370,30);

   progressBar.setBounds(85,80,370,30);

   lblfiles.setBounds(85,115,370,30);

  
   btnnext.setBounds(85,150,90,30);

   btnfinish.setBounds(180,150,90,30);


   btnexit.setBounds(275,150,95,30);


  }

public void actionPerformed(ActionEvent ae)
{
  
   if(ae.getSource()==btnexit)
   {
    setVisible(false);
    }

  if(ae.getSource()==btnsearch)
  {
    
   drive = txtsearch.getText();

  try{
   File fft = new File(drive);
    new folder(fft);
  }
   catch(Exception e)
   {   }


  }


 if(ae.getSource()==btnnext)
  {
    
   drive = txtsearch.getText();

  try{


  progressBar.setMaximum(count);  


  fileind = new String[count][3];

   File fft = new File(drive);
    new folder1(fft);
  }
   catch(Exception e)
   {   }


  }

if(ae.getSource() == btnfinish)
{

try {
   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");    
   File f = new File("filelog.mdb");
   String fname= f.getAbsolutePath();
   System.out.println(fname);
   Connection con = DriverManager.getConnection("Jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+fname,"","");
   Statement stmt = con.createStatement();

   

  for(int i=0; i<cnt; i++)
  {

  stmt.executeUpdate("insert into details(fname, fpath, fext) values('"+ fileind[i][0] +"','"+ fileind[i][1] +"','"+ fileind[i][2] +"')");

  }

 con.close();

  }
    catch(Exception e)
     {
	System.out.println(e);
     }



}


}



public static void main(String args[])
{
  
   qindex qs = new qindex();
   qs.show();
}





//==================================================================================

class folder implements Runnable
{

 File p4;
 
 Thread t;



public folder(File fname) throws Exception {

p4 = fname;
t = new Thread(this, "demo");
t.start();
}



public void run()
{

 try {

String s2[] = p4.list();




progressBar.setMaximum((s2.length)-1);



for(int k=0; k<s2.length; k++)
 {
     
      lblmsg.setText("Calculating File Index: "+ count);

      File p5 = new File(p4.getAbsolutePath()+"/"+s2[k]);
      String fn = p5.getAbsolutePath();
      //System.out.println("\n"+fn+"\n");
      progressBar.setValue(k);
      File p6 = new File(fn);
      

      if(p6.isDirectory())
      {

        new folder(p6);
        
      }
       else
          {

	     lblfiles.setText(p6.getAbsolutePath());
             count++;
             

          } 

  Thread.sleep(50);  
   lblmsg.setText("");   
   lblfiles.setText("");              

}



 } catch(Exception e) {  }


}
}

//==================================================================


class folder1 implements Runnable
{

 File p4;
 
 Thread t;



public folder1(File fname) throws Exception {

p4 = fname;
t = new Thread(this, "demo");
t.start();
}



public void run()
{

 try {

String s2[] = p4.list();



for(int k=0; k<s2.length; k++)
 {
     
      lblmsg.setText("Index Files : "+ cnt);

      File p5 = new File(p4.getAbsolutePath()+"/"+s2[k]);
      String fn = p5.getAbsolutePath();
      //System.out.println("\n"+fn+"\n");
      progressBar.setValue(cnt);
      File p6 = new File(fn);	
      

      if(p6.isDirectory())
      {

        new folder1(p6);
        
      }
       else
          {

	     lblfiles.setText(p6.getAbsolutePath());

             String filename = p6.getName();

             fileind[cnt][0] = p6.getName().replace("'","|");
             fileind[cnt][1] = p6.getAbsolutePath().replace("'","|");
	     fileind[cnt][2] = "*" + filename.substring(filename.length()-4,filename.length()).replace("'","|");
             cnt++;
 
            
             

          } 

  Thread.sleep(50);   

   lblmsg.setText("");                
   lblfiles.setText("");

}



 } catch(Exception e) {  }


}
}



}
    

    

    

⌨️ 快捷键说明

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