Java 串匹配Brute Force算法
每天基础(1),串匹配之Brute-Force算法,最简单的遍历算法。另外有KMP算法,是对此算法的改进,避免每次比较都回回退。
package ibees.sample;
/**
* 字符串匹配模式算法Brute-Force算法,此算法每次比较都会回退
* @author hhzxj2008
* */
public class StringMatch {
/**
* 相当于java.lang.String的indexOf,采用Brute-Force算法
* */
public int match(String str,String substr){
//1.字串的第一字符与主串的第一个字符比较,若不匹配字串的第一个字符和主串的第二个字符比较
//2.若字串的第一个字符与主串的某一位置上字符串匹配,则将字串的第二个字符与主串该位的下一位置
// 进行比较,依次类推。遇到不相等,则重复第一步。
int index = -1;
boolean match = true;
for(int i = 0; i <= str.length()-substr.length(); i ++){//str
match = true;
for(int j = 0; j < substr.length(); j ++){//substr
if(str.charAt(i+j) != substr.charAt(j)){
match = false;
}
}
if(match){
index = i;
break;
}
}
return index;
}
}
KMP算法主要考虑在比较的过程中存在部分匹配,所以不用每次都回退。这里不作具体的介绍。
相关文档:
import java.text.*;
import java.util.*;
/**
*
* <p>
* Title: 通用工具类
* </p>
* <p>
* Description: 常用工具的集合,用来处理常见问题,比如中文乱码的方法等。
* </p>
* <p>
* Copyright: Copyright (c) 2003
* </p>
* <p>
* Company: Towery
* </ ......
Java 6 RowSet 使用完全剖析(2)
关键字: rowset
分页
由于 CachedRowSet 是将数据临时存储在内存中,因此对于许多 SQL 查询,会返回大量的数据。如果将整个结果集全部存储在内存中会占用大量的内存,有时甚至是不可行的。对此 CachedRowSet 提供了分批从 ResultSet 中获取数据的方式,这就是分页。应用程序可以简单的通 ......
<form name="UploadForm" enctype="multipart/form-data" method="post" action="upLoadImage.do">
<input type="file" name="File1" size="11" maxlength="20"/><input type="submit"value="上 传"/>
</form>
String path="images\\product\\";
String temp=thi ......
注:不适合web工程
1、利用System.getProperty()函数获取当前路径:
System.out.println(System.getProperty("user.dir"));//user.dir指定了当前的路径
2、使用File提供的函数获取当前路径:
File directory = new File("");//设定为当前文件夹
try{
System.out.println(directory. ......