简易的文件搜索器(通过关键字搜索)

一开始感觉文件的搜索应该不难,只要找到匹配的字符就可以,可是实践起来,却并不如此。

                                                             

例如,要实现上图的功能,要先做出界面来,在界面中添加组件,采用流式布局就可。其中关键字和路径这两个标识,用Label。其代码如下

                                       Label  label_key = new Label("关键字");

然后是后面的文本框

                                   f1 = new TextField("",10);     其中第二个参数代表的是文本框有多少列。

最后是一个文本域

TextArea f3 = new TextArea(null,15,60);  其中三个参数表指定的文本,以及指定的行数和列数。其中null可以用“”替代。


接下来就是所有候选文件的找出。自定义一个方法,此方法返回文件的数目count,方法里面具体实现如下

file = new File(path);
//判断是否是文件或目录
if(file.isFile()){
count++;
list.add(file.getName());
}else if(file.isDirectory()){
File[] files = file.listFiles();
for(int i=0;i<files.length;i++){
count += query(files[i].getAbsolutePath());
}
}

其中list为一个自定义的队列,用来保存文件的名称。

然后就是关键字与文件名曲匹配,系统提供了contains方法,这个方法自己去查API。

最后把匹配的结果放到文本域中去,但是如果调用文本的setText方法的话,会只输出一个文件,而且是你最后找到的文件,这是因为它后面的文件名讳覆盖前面的文件名

这样我们可以使用append方法,这是一个追加方法,直接追加到文本的后面,这样后面的文件名就不会把前面的文件名覆盖。但是注意,此方法传递 null 或不一致的参数是无效的,并且将导致不确定的行为。 

,还有就是,在文本域中,文件名需要换行。Java中提供的回车换行符是:\r\n。

 这样一个简易的文件搜索器就做出来了。










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值