天天看點

小積累(三):判斷字元串1中有幾個字元串2,檔案重命名,使用ant打zip壓縮包,使用ant解zip壓縮包,判斷是否有敏感詞彙、是否有特殊字元...

1、判斷字元串1中有幾個字元串2:

/** 
 * 判斷str1中包含str2的個數 
 *@param str1 
 * @param str2 
 * @return counter 
 */  
public static int countStr(String str1, String str2) { 
	int counter=0;
    if (str1.indexOf(str2) == -1) {  
        return 0;
    } 
    while(str1.indexOf(str2)!=-1){
    	counter++;
    	str1=str1.substring(str1.indexOf(str2)+str2.length());
    }
    return counter;  
}
           

2、檔案重命名(格式為:文檔.txt-->文檔(2).txt-->文檔(3).txt):

/**
 * 該方法用來檔案重命名
 * @param renameFile:要進行重命名的檔案
 * **/
private File renameFile(File renameFile){
	//該檔案在指定的檔案夾中不存在了,則退出循環
	int count=1;
	String filePath = "";//檔案路徑
	String fileName="";//檔案名稱
	int index=0;
	while(renameFile.exists()){
		count++;
		fileName = renameFile.getName();
		index = fileName.lastIndexOf(".");
		filePath = renameFile.getParent()+File.separator+fileName.substring(0,index)+"("+count+")."+fileName.substring(index+1);
		renameFile = new File(filePath);
	}
	return renameFile;
}
           

3、使用ant打zip壓縮包:

/**
 * 打壓縮包
 * @param srcPathName:需要打成壓縮包的檔案夾路徑
 * @param zipFile:壓縮包名稱(路徑+名稱+.+字尾名)
 * */
public void compress(String srcPathName,File zipFile) {  
	File srcdir = new File(srcPathName);  
    if (!srcdir.exists()){  
        throw new RuntimeException(srcPathName + "不存在!");  
    }
    if(zipFile.exists()){//說明目前目錄下存在同名壓縮檔案
    	zipFile.delete();
    }
    Project prj = new Project();  
    Zip zip = new Zip();  
    zip.setEncoding("GBK");//設定編碼,防止壓縮檔案名字亂碼,還有被壓縮檔案的亂碼
    zip.setProject(prj);  
    zip.setDestFile(zipFile);  
    FileSet fileSet = new FileSet();  
    fileSet.setProject(prj);  
    fileSet.setDir(srcdir);  
    zip.addFileset(fileSet);  
    zip.execute();  //執行生成
}
           

4、使用ant解zip壓縮包:

/**
 * 解壓指定zip檔案 
 * @param unZipfile:需要解壓縮的壓縮包路徑(路徑+名稱+.+字尾名)
 * @param destFile:解壓到的目錄
 * */
public void UNCompress(File unZipfile, File destFile) {
	FileOutputStream fileOut;
    File file;
    InputStream inputStream;
    ZipFile zipFile=null;
    ZipOutputStream zipOut=null;     //壓縮Zip
    try {
        //生成一個zip的檔案
        zipFile = new ZipFile(unZipfile,"GBK");//設定編碼,避免出現中文的情況(不管是壓縮檔案為中文,還是壓縮包中的檔案為中文)
        //周遊zipFile中所有的實體,并把他們解壓出來
        for (@SuppressWarnings("unchecked")
        Enumeration<ZipEntry> entries = zipFile.getEntries(); entries.hasMoreElements();) {
            ZipEntry entry =  entries.nextElement();
            //生成他們解壓後的一個檔案  
            file = new File(destFile+File.separator+entry.getName());
            if (entry.isDirectory()) {
                file.mkdirs();
            } else {
                File parent = file.getParentFile();// 如果指定檔案的目錄不存在,就建立.
                if (!parent.exists()) {
                    parent.mkdirs();
                }  
                //擷取出該壓縮實體的輸入流 
                inputStream = zipFile.getInputStream(entry);

                fileOut = new FileOutputStream(file);
                int length = 0;
                //将實體寫到本地檔案中去
                while ((length = inputStream.read(buf)) > 0) {
                    fileOut.write(buf, 0, length);
                }
                fileOut.close();
                inputStream.close();
            }
        }
        zipFile.close();
    } catch (IOException ioe) {
        ioe.printStackTrace();
    }
}
           

5、判斷是否有敏感詞彙:

//該方法用來判斷是否有敏感詞彙
//true:說明有敏感詞彙
//false:說明沒有敏感詞彙
function filterKeywordMethod(value){  
	var result = false;
	//敏感詞彙
var keywords=["select","insert","update","delete","create","alter",
              "drop","database","table","column","dbo","sys_","field",
              'exec','execute','value','values']; 

    //周遊敏感詞數組  
    for(var i=0;i<keywords.length;i++){  
        //判斷内容中是否包括敏感詞  
        if(value.indexOf(keywords[i])!=-1){  
            result = true;
            break;//隻要有一個直接傳回
        }  
    }
//    alert("敏感值:"+value+"\n結果:"+result);
    return result;
}      

 6、判斷是否有特殊字元:

//該方法用來判斷字元串中是否存在特殊字元
//true:說明有特殊字元
//false:說明沒有特殊字元
function checkStr(str){
	var myReg = new RegExp("[`[email protected]#$^&*()=|{}':;',\\[\\]./<>?~!@#¥……&*()——|{}【】‘;:”“'。,、?%+_]");
	if(myReg.test(str)) return true; 
	return false; 
}