?? qindex.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 + -