- 浏览: 32754 次
- 性别:
- 来自: 承德
最新评论
-
zq726726:
请问 如果用spring 的话 怎么加配置???
Hibernate通用Dao设计。 -
woshihongshua:
一个自己写的图像操作包,实现了验证码识别等很多功能。 -
azure2a:
还真没试过,不过可以用上面的代码试试,不然估计要用图片二值化等 ...
趣味编程,利用zxing包设计QR码编码和解码程序。 -
qalong:
想问一下,如果QR的图片不清晰的时候,可以正常的解析吗?
趣味编程,利用zxing包设计QR码编码和解码程序。 -
lshoo:
JPA2的资料好啊!
学习Hibernate映射必读,JavaOne2009-JPA2映射的神秘之旅。
不过都是用的String效率可能不太高。
package util;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.util.Date;
import java.util.Map;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author unascribed
* @version 1.0
*/
public class StringUtil {
private final static String[] hexDigits = {
"0", "1", "2", "3", "4", "5", "6", "7",
"8", "9", "a", "b", "c", "d", "e", "f"};
/**
* 转换字节数组为16进制字串
* @param b 字节数组
* @return 16进制字串
*/
public static String byteArrayToHexString(byte[] b) {
StringBuffer resultSb = new StringBuffer();
for (int i = 0; i < b.length; i++) {
resultSb.append(byteToHexString(b));
}
return resultSb.toString();
}
private static String byteToHexString(byte b) {
int n = b;
if (n < 0)
n = 256 + n;
int d1 = n / 16;
int d2 = n % 16;
return hexDigits[d1] + hexDigits[d2];
}
/**
*
* @param origin
* @return 返回经过MD5加密的字符串
*/
public static String MD5Encode(String origin) {
String resultString = null;
try {
resultString=new String(origin);
MessageDigest md = MessageDigest.getInstance("MD5");
resultString=byteArrayToHexString(md.digest(resultString.getBytes("UTF-8")));
}
catch (Exception ex) {
}
return resultString;
}
/**
*
* @param s
* @param strCheck
* @return 判断s中是否含有strCheck中的串
*/
public static boolean inStr(String s,String[] strCheck){
boolean result=false;
for(String check:strCheck)result=result||(s.trim().indexOf(check.trim())>-1);
return result;
}
/**
*
* @param file
* @param split
* @return 按照split分隔符取得文件的类型
*/
public static String getFileType(String file,String split){
String in=file.trim();
String type=in.substring(in.lastIndexOf(split)+1,in.length());
return type;
}
/**
*
* @param file
* @param split
* @return按照split分隔符取得文件的名字
*/
public static String getFileName(String file,String split){
String in=file.trim();
String type=in.substring(0,in.lastIndexOf(split));
return type;
}
/**
*
* @param s
* @param strcheck
* @return 检测s是否为待检验的类型
*/
public static boolean fileTypeChecker(String s,String strcheck){
boolean result=false;
String type=getFileType(s,".");
String[] strCheck=splitStr(strcheck,",");
for(String check:strCheck)result=result||type.equals(check.trim());
return result;
}
/**
*
* @param strInput
* @param strCheck
* @return 检验strInput串中是否含有strCheck中的串
*/
public static boolean checkStr(String[] strInput,String[] strCheck){
boolean result=false;
for(String input:strInput)result=result||inStr(input,strCheck);
return result;
}
/**
*
* @param str
* @param length
* @param insertStr
* @return 按照长度在某一段字符串中插入另一段字符
*/
public static String insertStr(String str,int length,String insertStr){
String result="";
int total=str.length();
int i=0;
while(true){
if((i+length)<total)
result=result+str.substring(i,i+length)+insertStr;
else
{
result=result+str.substring(i,total);
break;
}
i=i+length;
}
return result;
}
/**
*
* @param s
* @param strMap
* @return 把s中的字符按照map中的对应字符进行替换
*/
public static String replaceStr(String s,Map<String,String> strMap){
for(Map.Entry<String,String> entry:strMap.entrySet()){
s=s.replaceAll(entry.getKey(),entry.getValue());
}
return s;
}
/**
*
* @param str
* @param length
* @param r
* @return 切断字符串
*/
public static String getStrByLength(String str,int length,String r){
if(str.length()<length)return str;
String newStr=str.substring(0,length)+r;
return newStr;
}
public static String[] splitStr(String s,String sp){
return s.split(sp);
}
/**
*
* @param s
* @param sp
* @param type
* @return 把一组数字字符串转换为数字数组
*/
public static int[] splitStr(String s,String sp,int type){
String[] intStr=splitStr(s,sp);
int[] result=new int[intStr.length];
for(int i=0;i<result.length;i++){
result=Integer.parseInt(intStr);
}
return result;
}
public static String encodeStr(String input,String sourceEncode,String targetEncode){
String result;
try{
result=new String(input.getBytes(sourceEncode),targetEncode);
}catch(UnsupportedEncodingException e){
result=input;
}
return result;
}
public static void main(String[] args){
//System.err.println(MD5Encode("NoPassword"));
//System.err.println(inStr("a",new String[]{"b","b"}));
//Map<String,String> strMap=new HashMap<String,String>();
//strMap.put("fuck", "[-bi-]");
//strMap.put("逼", "[-呵呵-]");
//System.out.println(replaceStr("fuck you 逼!!",strMap));
//for(int i:splitStr("1,232,2312,231,312",",",1))System.out.println(i);
System.out.println(getFileName("ab.txt","."));
System.out.println(MD5Encode(new Date().toString()));
}
}
package util;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.util.Date;
import java.util.Map;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author unascribed
* @version 1.0
*/
public class StringUtil {
private final static String[] hexDigits = {
"0", "1", "2", "3", "4", "5", "6", "7",
"8", "9", "a", "b", "c", "d", "e", "f"};
/**
* 转换字节数组为16进制字串
* @param b 字节数组
* @return 16进制字串
*/
public static String byteArrayToHexString(byte[] b) {
StringBuffer resultSb = new StringBuffer();
for (int i = 0; i < b.length; i++) {
resultSb.append(byteToHexString(b));
}
return resultSb.toString();
}
private static String byteToHexString(byte b) {
int n = b;
if (n < 0)
n = 256 + n;
int d1 = n / 16;
int d2 = n % 16;
return hexDigits[d1] + hexDigits[d2];
}
/**
*
* @param origin
* @return 返回经过MD5加密的字符串
*/
public static String MD5Encode(String origin) {
String resultString = null;
try {
resultString=new String(origin);
MessageDigest md = MessageDigest.getInstance("MD5");
resultString=byteArrayToHexString(md.digest(resultString.getBytes("UTF-8")));
}
catch (Exception ex) {
}
return resultString;
}
/**
*
* @param s
* @param strCheck
* @return 判断s中是否含有strCheck中的串
*/
public static boolean inStr(String s,String[] strCheck){
boolean result=false;
for(String check:strCheck)result=result||(s.trim().indexOf(check.trim())>-1);
return result;
}
/**
*
* @param file
* @param split
* @return 按照split分隔符取得文件的类型
*/
public static String getFileType(String file,String split){
String in=file.trim();
String type=in.substring(in.lastIndexOf(split)+1,in.length());
return type;
}
/**
*
* @param file
* @param split
* @return按照split分隔符取得文件的名字
*/
public static String getFileName(String file,String split){
String in=file.trim();
String type=in.substring(0,in.lastIndexOf(split));
return type;
}
/**
*
* @param s
* @param strcheck
* @return 检测s是否为待检验的类型
*/
public static boolean fileTypeChecker(String s,String strcheck){
boolean result=false;
String type=getFileType(s,".");
String[] strCheck=splitStr(strcheck,",");
for(String check:strCheck)result=result||type.equals(check.trim());
return result;
}
/**
*
* @param strInput
* @param strCheck
* @return 检验strInput串中是否含有strCheck中的串
*/
public static boolean checkStr(String[] strInput,String[] strCheck){
boolean result=false;
for(String input:strInput)result=result||inStr(input,strCheck);
return result;
}
/**
*
* @param str
* @param length
* @param insertStr
* @return 按照长度在某一段字符串中插入另一段字符
*/
public static String insertStr(String str,int length,String insertStr){
String result="";
int total=str.length();
int i=0;
while(true){
if((i+length)<total)
result=result+str.substring(i,i+length)+insertStr;
else
{
result=result+str.substring(i,total);
break;
}
i=i+length;
}
return result;
}
/**
*
* @param s
* @param strMap
* @return 把s中的字符按照map中的对应字符进行替换
*/
public static String replaceStr(String s,Map<String,String> strMap){
for(Map.Entry<String,String> entry:strMap.entrySet()){
s=s.replaceAll(entry.getKey(),entry.getValue());
}
return s;
}
/**
*
* @param str
* @param length
* @param r
* @return 切断字符串
*/
public static String getStrByLength(String str,int length,String r){
if(str.length()<length)return str;
String newStr=str.substring(0,length)+r;
return newStr;
}
public static String[] splitStr(String s,String sp){
return s.split(sp);
}
/**
*
* @param s
* @param sp
* @param type
* @return 把一组数字字符串转换为数字数组
*/
public static int[] splitStr(String s,String sp,int type){
String[] intStr=splitStr(s,sp);
int[] result=new int[intStr.length];
for(int i=0;i<result.length;i++){
result=Integer.parseInt(intStr);
}
return result;
}
public static String encodeStr(String input,String sourceEncode,String targetEncode){
String result;
try{
result=new String(input.getBytes(sourceEncode),targetEncode);
}catch(UnsupportedEncodingException e){
result=input;
}
return result;
}
public static void main(String[] args){
//System.err.println(MD5Encode("NoPassword"));
//System.err.println(inStr("a",new String[]{"b","b"}));
//Map<String,String> strMap=new HashMap<String,String>();
//strMap.put("fuck", "[-bi-]");
//strMap.put("逼", "[-呵呵-]");
//System.out.println(replaceStr("fuck you 逼!!",strMap));
//for(int i:splitStr("1,232,2312,231,312",",",1))System.out.println(i);
System.out.println(getFileName("ab.txt","."));
System.out.println(MD5Encode(new Date().toString()));
}
}
发表评论
-
Hibernate通用Dao设计。
2011-07-19 16:15 3225hibernate的通用Dao简化了程序,增加了开发过程, ... -
趣味编程,利用zxing包设计QR码编码和解码程序。
2011-04-20 23:03 24861、什么是RQ码? QR码是二维条码的一种,1994年由日 ... -
利用JEXL实现实时执行对象方法。
2011-02-14 16:50 1349使用情况:有时候我们在编译时并不知道可能执行什么方法,或者我们 ... -
cglib实现无接口代理
2011-02-13 22:52 1867使用情况:有时候我们需要为一个类建立代理对象,当执行原类的 ... -
学习Hibernate映射必读(二),JavaOne2009-JPA2新特征。
2011-02-10 19:46 999JavaOne2009-JPA2新特征介绍了JPA2的一些 ... -
Extjs Grid 带分页多选时的某种解决方案。
2011-02-10 19:42 4207使用情况:使用Extjs的Grid时使用远程分页时有一个问 ... -
学习Hibernate映射必读,JavaOne2009-JPA2映射的神秘之旅。
2011-02-07 12:51 942JavaOne2009-JPA2映射的神秘之旅,学习Hib ... -
使用HTMLPARSER和HTTPCLIENT制作网络爬虫,附赠相关技术文档。
2011-02-06 17:05 1996利用HTMLPARSER和HTTPCLIENT制作的网络爬 ... -
Java模式速查手册
2011-02-05 16:22 1159自己按照阎宏《Java与模 ... -
一个自己写的图像操作包,实现了验证码识别等很多功能。
2011-02-05 00:03 2018自己设计的图像操作包,实现很多功能。 包括三个类。 一、Ima ... -
一个文件操作类。
2009-12-12 14:21 317一个文件操作类,使用 ... -
循环链表
2009-11-13 09:54 58Java与算法的课后题,实现一个循环链表。 public c ... -
JAVA与模式读书笔记。
2009-10-06 11:08 127JAVA与模式读书笔记,自己读Java与模式时总结的书上的一些 ... -
呵呵,基础知识复习-类加载顺序。
2009-09-29 09:36 76有些基础知识其实自己也是很模糊,老是搞不清,比如一个类里的 ... -
自己设计的简单的验证框架。
2009-09-25 12:07 149自己设计的一个简单的验证框架,参照SpringSecrity。 ... -
cglib实现无接口代理
2009-09-24 11:29 182代理类。 package util.proxy; impor ... -
用javamail发邮件
2009-09-24 11:26 1094利用javamail发邮件,可以发送普通邮件,带附件和图片的邮 ... -
图片的操作。
2009-09-24 11:25 110图片的操作类,实现剪切,缩放,旋转,水印,滤镜,未完成,有兴趣 ... -
线程池实现网络抓取器.
2009-09-24 11:24 54利用线程池实现的网络抓取工具,相似于google的功能,当然可 ... -
java验证码。
2009-09-24 11:23 1092package util.img; import java.a ...
相关推荐
C# 字符串操作方法实例 C# 中的字符串操作方法是指在 C# 编程语言中对字符串进行操作的各种方法和技术。字符串是使用 string 关键字声明的一个字符数组,字符串对象是“不可变的”,即它们一旦创建就无法更改。 1....
- **字符串操作**:包括字符串的截取、比较、拼接等。 - **递归原理**:理解如何定义递归函数,以及如何处理基本情况和递归情况。 - **回溯法**:知道如何设计回溯算法,如何在遇到错误或无效选择时撤销操作。 - **...
### JavaScript字符串操作详解 在JavaScript中,字符串是用于表示文本数据的一种基本数据类型。...通过本文介绍的JavaScript字符串操作方法,希望能够帮助开发者在日常工作中更加熟练地使用这些工具,提高编程效率。
"php-shorthand"库提供了一种便捷的方式来处理字符串,尤其是计算一组字符串的独特简捷表达。这个库可能是由Kamran Ahmed SE开发并维护的,版本号为8c39eff。本文将深入探讨这个库的核心功能、如何使用以及它在字符...
字符串操作在FreeMarker中是通过内置的指令和函数实现的。 1. **字符串拼接**: 在FreeMarker模板中,可以使用`+`运算符来连接字符串。例如: ```html , "> !"> ${str1 + str2} ``` 这将输出:"Hello, World...
本篇文章将深入探讨易语言中如何使用指针来操作字符串和数组,以及如何通过指针数组进行参数传递。 1. **指针基础**: - 在易语言中,指针是一个变量,存储的是其他变量的内存地址。指针变量需要先声明,然后通过`...
在VB(Visual Basic)编程中,处理字符串是常见的任务之一,其中包括将一个长字符串拆分成多个子字符串。这个过程通常称为“字符串拆分”或“分隔字符串”。在这个主题中,我们将深入探讨VB中如何实现这一操作,以及...
首先,我们需要了解C#中的字符串类(String),它提供了丰富的字符串操作方法。在C#中,字符串是不可变的,这意味着每次修改字符串都会创建一个新的字符串对象。因此,当我们需要移除字符串末尾的字符时,不能直接修改...
在实际编程中,根据需求选择合适的方法组合,可以实现各种复杂的字符串操作。同时,要记住,虽然`String`对象是不可变的,但通过`StringBuilder`或`StringBuffer`类可以实现字符串的可变操作,这在需要多次修改字符...
在LabVIEW中处理字符串是一项常见的任务,尤其是将一个字符串拆分成多个子字符串,这通常涉及到字符串的分割操作。本篇将详细介绍如何在LabVIEW中实现“字符串拆分到数组”并支持中文字符。 一、字符串拆分的基本...
SQL 字符串操作是 T-SQL 中的一组功能强大且灵活的字符串处理函数,它可以处理数值型数据和字符型数据。这些函数可以截取和修改字符串的值,转换和手机字符串相关信息,以及执行 SOUNDEX 分析。在本文中,我们将详细...
随着ECMAScript标准的不断发展,ES6及之后版本引入了许多新的字符串处理方法,进一步增强了JavaScript字符串操作的能力: 1. **检查字符串开头或结尾** - `startsWith(searchString[, position])` 和 `endsWith...
然而,频繁地复制和连接字符串会导致效率低下,特别是在处理较大字符串或大量字符串操作时。 #### 4. 函数设计与代码组织 良好的函数设计应当遵循单一职责原则,即每个函数只负责一项具体的功能。在给定的代码中,...
总的来说,解决这个问题需要对字符串操作、排序算法、条件判断以及数据结构(如数组和集合)有深入的理解。通过编写代码并调试,我们可以创建一个灵活的函数,它接受一个1-9位数字字符串和一个排序条件作为输入,...
在标准的字符串方法中,没有直接提供一个功能可以获取两个已知字符串之间的子串,但我们可以通过结合几个基本方法来实现这个功能。 1. **IndexOf**:此方法用于查找指定字符串在当前字符串中的第一次出现位置。...
在编程领域,字符串排列组合是一个常见的算法问题,它涉及到如何生成一个字符串的所有可能的排列方式。这个主题主要与计算机科学的算法设计和技术有关,尤其是在数据结构和算法分析的课程中经常遇到。本节将深入探讨...
在LabVIEW中,字符串操作是常见的任务之一,特别是在数据处理和信息传递中。要将单个字符串创建成字符串数组,我们需要了解LabVIEW的基本数据结构和编程方法。以下是一些关于如何在LabVIEW中创建字符串数组的关键...
值得注意的是,`split()`方法在处理大量数据时可能会影响性能,因为它创建了一个子字符串数组。如果需要高效地处理大字符串,可以考虑使用`Pattern`和`Matcher`类,或者使用Java 8引入的流(Stream)API。 另外,`...
以上就是Python 3.1版本中关于字符串操作的一些基础知识和实例。对于初学者来说,理解并掌握这些方法,将有助于更好地处理和操作字符串数据。在实际编程中,这些方法经常被用于数据清洗、格式化输出和信息提取等场景...