import java.io.FileReader;
import java.io.BufferedReader;
import java.io.File;
public class search
{
//查找方法,参数,文件绝对路径,查找关键字
public static boolean search(String filepath,String key)
{
try
{
File f = new File(filepath);
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String s = "";
//int i = 1;
while((s = br.readLine()) != null)
{
if(s.indexOf(key) != -1)
{
return true;
}
}
return false;
}
catch(Exception e)
{
e.printStackTrace();
return false;
}
}
public static void main(String args[])
{
System.out.println(search.search("d://t.txt","l2"));
}
}
修改了下,加两个变量,可以指出查找的位置。
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.File;
public class search
{
//查找方法,参数,文件绝对路径,查找关键字
public static String search(String filepath,String key)
{
try
{
File f = new File(filepath);
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String s = "";
int i = 1;
int m = 0;
while((s = br.readLine()) != null)
{
if((m = s.indexOf(key)) != -1)
{
return "第"+i+"段,第"+m+"处";
}
i++;
}
return null;
}
catch(Exception e)
{
e.printStackTrace();
return null;
}
}
public static void main(String args[])
{
System.out.println(search.search("d://t.txt","asd"));
}
}
这个,查汉字是没有问题的。
另外,你要全文检索的话,indexOf()还有个方法,indexOf(int start,String key),指定开始查找的位置跟关键字,你查到一处后,将这个数值加1,做为继续查找的开始位置就可以了。
B. java全部关键字及其每个用法怎么解释
java关键字 1.break和continuex0dx0a break和continue是两个java关键字,在一个循环中,比如50次的循环语句中,如果在某次循环中执行了break语句,那么整个循环语句就结束。x0dx0a 如果在某次循环中执行了continue语句,那么本次循环就结束,即不再执行本次循环中循环体中continue语句后面的语句,而转入进行下一次循环。x0dx0a2.static关键字x0dx0a (1)用static修饰的变量是类变量,否则是实例变量,类变量被所有对象共享,即所有对象的这个类变量都分配给同一处内存,改变其中一个对象的这个类变量就会改变其他对象的这个类变量。x0dx0a (2)java程序执行时,类的字节码文件被加载到内存,如果该类没有创建对象,类的实例成员变量不会被分配内存。但是类中的类变量被加载到内存时,就分配了相应的内存空间。如果该类创建对象,那么不同对象的实例变量互不相同,即分配不同的内存空间,而内变量不再分配内存空间,即所有对象的类变量是相同的。x0dx0a (3)当创建第一个对象时,类中的实例方法就分配了入口地址,当再创建对象时,不再分配入口地址,也就是说方法的入口地址被所有对象共享,当所有对象都不存在时,方法的入口地址才被取消。x0dx0a3.this关键字x0dx0a (1) this是java的一个关键字,表示某个对象。this可以出现在实例方法和构造方法中,但是不可以出现在类方法中(因为非静态的变量或方法不能在静态的方法中被调用),this关键字出现在构造方法中时,代表使用该构造方法所创建的对象。实例方法必须通过对象来调用,当this关键字出现在类的实例方法中时,代表正在调用方法的当前对象。x0dx0a (2)实例方法可以操纵成员变量,当实例成员变量在实例方法中出现时,默认的格式是this.成员变量x0dx0a4.final关键字x0dx0a final关键字可以修饰类、成员变量和方法中的参数。x0dx0a final类不能继承。x0dx0a final方法不能被重写,但可以被继承。x0dx0a final成员变量必须赋初值,且不能改变。x0dx0a final参数的值不能改变。x0dx0a5.abstract关键字x0dx0a abstract关键字可以修饰类、变量、方法。x0dx0a abstract类可以有abstract方法。对于abstract方法,只允许声明,不允许实现,而且不能使用final修饰abstract方法(因为final方法不能被重写)。x0dx0a 对于abstract类,不能使用new运算符创建该类的对象,需产生其子类,由子类创建对象,如果一个类是abstract类的子类,那么它必须实现父类的abstract方法 x0dx0a6.super关键字x0dx0a (1)子类不能继承父类的构造方法,因此,子类如果想使用父类的构造方法,必须在子类的构造方法中使用,并且必须使用关键字super来调用,且super必须在子类构造方法的第一条语句。x0dx0a (2)如果类里面定义了一个或多个构造方法,那么java不提供默认的构造方法(不带参数的构造方法),因此,当在父类中定义了多个构造方法时,应该包括一个不带参数的构造方法,以防子类省略super时出现错误。
C. java中怎么实现在一个字符串中查找其中的关键字。
public class $ {
public static void main(String... _) {
String str = "123456789 abcdefg hijklmn...";
System.out.println(str.indexOf("456"));
System.out.println(str.indexOf("45a"));
}
}
结果:
3
-1
如果有,就返回他的起始位置,注意是从0开始
没有,就返回-1
用循环
String[] key = { "456", "abc", "45a" };
String str = "123456789 abcdefg hijklmn...";
for (int i = 0; i < key.length; i++) {
System.out.println(key[i] + "的起始位置:" + str.indexOf(key[i]));
}
D. 求java中关于图像检索的算法 想用java语言实现一个基于图像颜色的检索系统 其中的算法要怎么实现 麻烦详
BufferedImage image;
int w = image.getWidth();
int h = image.getHeight();
int color;
for (int i = 0; i < w; i++) {
for (int j = 0; j < h; j++) {
color = image.getRGB(i, j);
}
}
不知道你到底要做什么,这个只是帮你拿到图上的点的颜色。那些提取特征点的算法就是相当复杂了,比如透过值,颜色分布值,对比度,亮度,甚至要多做因素综合考虑起来,难度不小的。java做图形是越来越少了,qq282052309
E. 怎么用java实现在一个txt文件中根据关键字查找信息并输出
public static void readTxtFile(String filePath, String key){
try {
String encoding="GBK";
File file=new File(filePath);
if(file.isFile() && file.exists()){ //判断文件是否存在
InputStreamReader read = new InputStreamReader(
new FileInputStream(file),encoding);//考虑到编码格式
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = null;
while((lineTxt = bufferedReader.readLine()) != null){
System.out.println(lineTxt.indexOf(key));
}
read.close();
}else{
System.out.println("找不到指定的文件");
}
} catch (Exception e) {
System.out.println("读取文件内容出错");
e.printStackTrace();
}
F. java字符串关键词查找
这要用到递归:
public void showAllFiles(File dir) throws Exception{
File[] fs = dir.listFiles();
for(int i=0; i<fs.length; i++){
System.out.println(fs[i].getAbsolutePath());
// 如果是文件夹递归查询
if(fs[i].isDirectory()){
try{
showAllFiles(fs[i]);
}catch(Exception e){}
} else{
查询其中包含关键字...
}
}
}
G. 关于java新闻网站的算法
问:新闻网站,如新浪网站,比如说国际足球频道,每天会有跟新。请问这块在代码设计的地方,是从数据库中读取5条最新的(按照日期)还是说做一个程序由编辑强制置顶?
答:是从数据库中读取5条最新的(按照日期)
问:如果是论坛,需要把点击最高的新闻自动排到前面,这个怎么处理,需要用到servletcontext吗 ?
答:读取点击最高的新闻记录(你想读取几条就几条),然后放到网页上去,就怎么回事.......跟你平时放其他数据没什么区别,都是根据条件取数据而已.
H. java关键字查询算法
就用readline方法,
一行一行地查吧,
楼上的算法还是可行的,
要指出在哪一行,
直接在readline中设置一个变量就可以了,
扫过一行自增就行
另外个人认为,
还要考虑这样一种情况,
比如说关键字为
java
但
ja
va
被分开在两行中了,
这个怎么算呢?
I. java 如何对某个数据库中所有数据进行关键词搜索并统计搜索所得结果的总数
select count(*) from tablename where 列 like '关键字1' or 列 like '关键字2';
意思就是查询 tablename 表中的 列 内容包括 关键字1 或者包涵 关键字2 的 一共有多少数据。。 count 是查询 受影响的 行数。 数据库关键字。