当前位置: 代码迷 >> Eclipse >> java哥哥们的填空题,嘻,其实是啦
  详细解决方案

java哥哥们的填空题,嘻,其实是啦

热度:99   发布时间:2016-04-23 13:27:25.0
java哥哥们的填空题,嘻,其实是求助啦。
/*这个题目是用Eclipse设计一文件搜索程序,可按以下步骤实现:
? 创建一窗口框架;
? 输入要搜索的文件名(全名);
? 输入要搜索的文件夹名;
? 按下按钮后,在指定文件夹内(包括所有子文件夹)搜索指定文件。
? 搜索成功则在窗口上显示文件的全路径名,否则显示没有找到指定文件

我做到这里就不会了,求哥哥们帮助。
*/

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

public class KongJian extends JFrame implements ActionListener
{
JTextField jtf1=new JTextField(20);
JTextField jtf2=new JTextField(30);
JLabel jl1=new JLabel("请输入要搜索的文件名:");
JLabel jl2=new JLabel("所搜索文件路径为:");
JButton jb=new JButton("搜索");

JPanel jp=new JPanel();

public KongJian()
{
this.setTitle("Java课程设计-钟冠新-李冠康制作");
jp.setLayout(null);
jl1.setBounds(30,20,200,30);
jp.add(jl1);
jtf1.setBounds(30,50,200,30);
jp.add(jtf1);
jl2.setBounds(30,90,200,30);
jp.add(jl2);
jtf2.setBounds(30,120,280,30);
jp.add(jtf2);
jb.setBounds(240,50,80,30);
jp.add(jb);
jb.addActionListener(this);
this.add(jp);
this.setBounds(300,250,350,250);
this.setVisible(true);

}






public void actionPerformed(ActionEvent e) {


}

public static void main(String atgs[])
{
KongJian kj=new KongJian();
}

}

------解决方案--------------------
只能搜索当前文件夹,如果要查子文件夹,自己修改一下:
Java code
import java.awt.*;import java.awt.event.*;import java.io.File;import java.io.FilenameFilter;import javax.swing.*;public class KongJian extends JFrame implements ActionListener {    JTextField jtf1 = new JTextField(20);    JTextField jtf2 = new JTextField(30);    JLabel jl1 = new JLabel("请输入要搜索的文件名:");    JLabel jl2 = new JLabel("所搜索文件路径为:");    JButton jb = new JButton("搜索");    JLabel ret ;    JPanel jp = new JPanel();    public KongJian() {        this.setTitle("Java课程设计-钟冠新-李冠康制作");        jp.setLayout(null);        jl1.setBounds(30, 20, 200, 30);        jtf1.setText("A.pdf") ;        jp.add(jl1);        jtf1.setBounds(30, 50, 200, 30);        jp.add(jtf1);        jl2.setBounds(30, 90, 200, 30);        jtf2.setText("C:") ;        jp.add(jl2);        jtf2.setBounds(30, 120, 280, 30);        jp.add(jtf2);        jb.setBounds(240, 50, 80, 30);        jp.add(jb);        jb.addActionListener(this);        this.add(jp);        this.setBounds(300, 250, 350, 250);        ret = new JLabel("搜索结果:" ) ;        jp.add(ret);        ret.setBounds(30, 150, 300, 30);        this.setVisible(true);    }    public void actionPerformed(ActionEvent e) {        System.out.println("AAA");        String str = FileRearch.rearch(jtf2.getText(), jtf1.getText()) ;                ret.setText("搜索结果:" + str ) ;                jp.repaint() ;    }    public static void main(String atgs[]) {        KongJian kj = new KongJian();    }}class DirFilter implements FilenameFilter {// 过滤器    String afn;    DirFilter(String afn) {        this.afn = afn;    }    public boolean accept(File dir, String name) {        // Strip path information:        String f = new File(name).getName();        return f.indexOf(afn) != -1;    }}class FileRearch {    public static String rearch(String dir, String fName) {        try {            File path = new File(dir);            String[] list;            if (fName.length() == 0)                list = path.list();            else                list = path.list(new DirFilter(fName));            for (int i = 0; i < list.length; i++){                System.out.println(new File(list[i]).getAbsoluteFile().getAbsolutePath()) ;                return (new File(list[i]).getAbsoluteFile().getAbsolutePath()) ;            }        } catch (Exception e) {            e.printStackTrace();        }        return "未找到文件" ;    }}
  相关解决方案