Not: Girilen bir kelimeyi bilgisayarda ara.Çalışma mantığı basittir.
Örneğin: .exe uzantılı dosyaları aramak istersek.
Öncelikle C:\ içindeki dosyaları tarar.Gelen dosyalar içinde, klasör olup olmadığına bakar.Eğer klasörse klasörün içinde aranan kelimeye bakar.Eğer gelen dosyalar klasör değilse(dosyaysa), dosya adınında ve uzantısında aranan kelime olup olmadığına bakar.Eğer her iki durumda da(klasör,dosya) aranan kelime bulunursa, dosya adını ve yolunu listeye ekler.
Her yeni aramada, liste temizlenir.
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class dosyaAra extends JFrame implements ActionListener
{
private JTextField kelime,turu;
private JButton ara;
private List liste;
private Label durum;
private JComboBox sec;
public dosyaAra()
{
super("Dosya Arama Programı");
setSize(500,680);
Container c=getContentPane();
sec=new JComboBox();
sec.insertItemAt("C:\\",0);
sec.insertItemAt("D:\\",1);
sec.insertItemAt("Bilgisayarım",2);
sec.setSelectedIndex(2);
sec.setEditable(false);
kelime=new JTextField();
kelime.addActionListener(this);
ara=new JButton("Ara");
ara.addActionListener(this);
durum=new Label();
liste=new List();
c.setLayout(null);
kelime.setBounds(5,5,345,23);
ara.setBounds(350,5,70,23);
sec.setBounds(5,30,200,23);
liste.setBounds(5,55,395,550);
durum.setBounds(5,620,600,23);
c.add(liste);
c.add(ara);
c.add(kelime);
c.add(sec);
c.add(durum);
show();
}
public void actionPerformed(ActionEvent e)
{
Object kaynak=e.getSource();
if (kaynak==ara || kaynak==kelime)
{
String ff=(String)sec.getSelectedItem();
if (!ff.equals("Bilgisayarım"))
{
liste.clear();
ara(kelime.getText(),ff);
} else {
liste.clear();
ara(kelime.getText(),"C:\\");
ara(kelime.getText(),"D:\\");
}
}
}
private void ara(String k, String yol)
{
File klasor=new File(yol);
String[] icerik=klasor.list();
for (int i=0; i
{
String yol1=yol+icerik[i];
File sz=new File(yol1);
if (sz.isDirectory())
{
String sox=sz+"\\";
ara(k,sox);
}
else {
if (icerik[i].indexOf(k)!=-1)
{
liste.add(icerik[i] + " " + klasor.getAbsolutePath());
durum.setText(liste.getItemCount() + " tane dosya bulundu.");
}
}
}
}
public static void main(String[] args)
{
dosyaAra da=new dosyaAra();
}
}