一个小applet,先将一个textfield中输入的句子存入一个txt文档中,并且再次输入进行按钮事件后换行追加。现在通过另一个textfield输入关键字,然后点击搜索按钮,在这个txt中搜索含此关键字的句子,也就是我输入的单条单条的句子,然后显示在另一个Textfield里。 不需要UI操作部分,只需要告诉我如何进行搜索即可;
创新互联建站自2013年起,是专业互联网技术服务公司,拥有项目成都网站制作、成都做网站、外贸营销网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元芦淞做网站,已为上家服务,为芦淞各地企业和个人服务,联系电话:18980820575
搜索部分可以通过读取文件的每一行,然后String content = bf.readLine();
if(content.indexOf("searcStr") != -1) {
//found
}else{
//not found
}
你是搜文件名,还是搜文件内容?要是搜文件内容可就麻烦了,有可能的话你看看Java的一个开源库Lucene。
要是简单的搜文件名包含的字符串,大致应该涉及到文件树的遍历算法,最多用一些简单的正则表达式来匹配文件名,一般用递归可以实现任意级目录树的搜索。
给你个简单的版本吧:
package test.tool;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class FindFile {
private String fileName = "";
private String dir = "";
private Matcher m = null;
private int count = 0;
public FindFile() throws IOException {
String f = FindFile.class.getResource("findfile.properties").getFile();
BufferedReader read = new BufferedReader(new FileReader(f));
dir = read.readLine().trim();
fileName = read.readLine().trim();
Pattern p = Pattern.compile(fileName);
m = p.matcher("");
}
public void find() {
File root = new File(dir);
for (File f : root.listFiles()) {
if (f.isDirectory()) {
dir = f.getAbsolutePath();
find();
} else {
m.reset(f.getName());
if (m.find()) {
count++;
System.out.println(f.getAbsolutePath());
}
}
}
}
public static void main(String[] args) {
try {
FindFile ff = new FindFile();
ff.find();
System.out.println("\n共找到文件数目:" + ff.count);
} catch (IOException e) {
e.printStackTrace();
}
}
}
里面用到的findfile.properties,举个例子:
F:\download
vod.*.exe
运行效果如下:
F:\download\firefox\vodplayer.exe
F:\download\ie\vodplayer.exe
共找到文件数目:2
String a = "How about you? \r\n Im java programmer.";
String[] words = a.split("\\b");
for(String w : words)
System.out.println(w);
看看这个例子是不是你想要的!
输出结果为:
How
about
you
?
Im
java
programmer
.
public void test(){java.util.Scanner sc = new java.util.Scanner(System.in);System.out.println("请输入字符串");String str = sc.next();char[] arr = str.toCharArray();java.util.Map map = new java.util.HashMap();for(int i = 0; i = 65 || (int)arr[i] = 97) || ((int)arr[i] = 122)){for(int j = 0; j arr.length; j++){if(arr[i] == arr[j]){++count;}}map.put(arr[i]+"", count);}}java.util.Iterator iter = map.keySet().iterator();while (iter.hasNext()) {String key = (String) iter.next();Integer val = map.get(key);System.out.println(key+"出现了:" + val);}System.out.println("输入的字符串为:"+java.util.Arrays.toString(arr));}