sohbet odaları

Dosya Arama Programı

Mephistophelés

Bronz Üye
Katılım
10 Eylül 2012
Mesajlar
3,858
Puanları
38
Yaş
42
Tepkime puanı
2
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 **** 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 **** ara(String k, String yol)
{
File klasor=new File(yol);
String[] icerik=klasor.list();

for (int i=0; i
{
String yol1=yol+icerik;
File sz=new File(yol1);
if (sz.isDirectory())
{
String sox=sz+"\\";
ara(k,sox);
}
else {
if (icerik.indexOf(k)!=-1)
{
liste.add(icerik + " " + klasor.getAbsolutePath());

durum.setText(liste.getItemCount() + " tane dosya bulundu.");
}
}
}

}

public static **** main(String[] args)
{
dosyaAra da=new dosyaAra();
}

}
 

Şuanda Bu Konuyu Görüntüleyenler (Kayıtlı: 0, Misafir: 1)

Üst