`

小积累(三):判断字符串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("[`~!@#$^&*()=|{}':;',\\[\\]./<>?~!@#¥……&*()——|{}【】‘;:”“'。,、?%+_]");
	if(myReg.test(str)) return true; 
	return false; 
}
 
分享到:
评论

相关推荐

    文件批量重命名软件 Renamer v1.5.zip

    "文件批量重命名软件 Renamer v1.5.zip" 提供了一个高效解决方案,帮助用户快速、方便地改变多个文件的名称。批量重命名功能对于整理文档、图片、音乐等各类文件集合尤其有用,可以极大地提高工作效率。 Renamer v...

    2023文件名批量重命名软件AntRenamer-2.12.0-Portable中文版

    1. **模板重命名**:AntRenamer允许用户自定义模板,如添加前缀、后缀、替换特定字符串、增加数字序列等,满足各种重命名需求。 2. **元数据重命名**:对于图片、音乐等文件,AntRenamer可以提取文件的元数据(如...

    判断字符串是否中心对称

    在提供的压缩包文件`zifuchuan.txt`中,很可能包含的是一个或多个中心对称字符串的例子,或者是一段关于如何实现中心对称字符串判断的代码。通过对这个文件进行分析,我们可以更深入地理解这个程序的工作原理和实际...

    C#正则表达式大全, 判断字符串是否为正整数,中文,英文.....

    知识点 2:判断字符串是否为正整数 在上面的代码中,我们可以看到一个名为 IsInt 的方法,该方法可以判断输入字符串是否为正整数。该方法使用了正则表达式 @"^\d+$" 来匹配字符串,如果字符串仅包含数字字符,则...

    判断字符串是否回文 程序

    在编程中,判断一个字符串是否为回文是一项常见的任务,对于学习基础算法和字符串处理非常有帮助。 在给定的"判断字符串是否回文"程序中,我们可以推测它实现了一个功能,即接收用户输入的字符串,然后检查这个字符...

    利用ant.jar解压缩zip包

    此外,如果你需要在命令行环境中使用ant.jar,可以编写一个简单的Ant构建文件(build.xml),并使用`unzip`任务来解压缩ZIP文件。例如: ```xml &lt;unzip src="path/to/your.zip" dest="output/directory"/&gt; `...

    rf.rar_RF 字符串截取_Rf字符串比较_rf字符串切割

    在这个"rf.rar"压缩包中,我们看到涉及到RF字符串处理的三个关键知识点:RF字符串截取、RF字符串比较以及RF字符串切割。 1. RF字符串截取: 正则表达式提供了灵活的字符串截取方式。通过定义匹配模式,可以精确地...

    文件批量重命名工具.zip

    "文件批量重命名工具.zip" 提供了一种便捷的方法来完成这个任务。这款工具专门设计用于Windows环境,它允许用户一次性修改多个文件的名称,遵循特定的规则或模式,比如添加前缀、后缀、更改文件扩展名、按照数字顺序...

    TIA博途-截取有效字符串FB全局库文件-V17版本-GF-String-Slice.zip

    在给定的压缩包文件“TIA博途-截取有效字符串FB全局库文件-V17版本-GF-String-Slice.zip”中,我们主要关注的是如何在TIA博途V17中实现字符串处理,特别是截取有效字符串的功能。 FB(Function Block)是PLC编程中...

    免安装 一键修改名称,文件批量重命名工具.zip

    3. **替换字符**:如果文件名中有特定的字符或字符串需要统一替换,此工具提供了便捷的搜索和替换功能,可以批量替换文件名中的指定文字。 4. **改文件名大小写**:在某些情况下,保持文件名的一致性(如全大写或全...

    CLOB 字段类型报错 ORA-01704: 文字字符串过长的解决

    例如,你可以将大字符串分割成多个小于或等于4000字符的小字符串,然后逐个插入。这可以通过循环和拼接操作来实现。 2. **使用DBMS_LOB子程序**: Oracle提供了一系列的DBMS_LOB包,它包含了许多处理CLOB数据的...

    字符串处理函数.zip

    在本压缩包文件“字符串处理函数.zip”中,可能包含了一个关于字符串处理的项目或教程。 “字符串处理函数.sdf”可能是SQLite数据库文件,用于存储与字符串处理相关的示例或测试数据。而“.sln”文件则是Visual ...

    压缩包文本批量字符替换 支持rar和zip

    标题“压缩包文本批量字符替换 支持rar和zip”涉及到的是一个自动化处理技术,用于在RAR和ZIP压缩包内的文本文件中进行批量字符替换。这个功能对于处理大量文件,尤其是那些需要统一更新特定字符串的情况非常有用,...

    巨好用的文件批量重命名工具

    在IT领域,文件管理是日常工作中不可或缺的一部分,而文件重命名则是其中一项常见的任务。尤其在处理大量文件时,手动重命名不仅耗时且容易出错。这时,一款高效的批量重命名工具就显得尤为重要。标题提到的“巨好用...

    文件批量重命名助手,文件重命名软件

    当你有一批文件需要按照一定的顺序进行重命名,例如照片、文档或者视频等,你可以通过这款工具快速地给每个文件添加一个连续的序列号作为前缀或后缀,如"001 图片.jpg"、"002 图片.jpg"等等,这在整理归档或上传分享...

    good-idea批量重命名工具master-10.0.zip

    《good_idea批量重命名工具master-10.0.zip》是一个专为IT专业人士设计的实用工具,主要用于解决日常工作中常见的文件批量重命名问题。在处理大量文件时,手动逐一重命名不仅耗时且易出错,而"good_idea"工具的出现...

    c++批量重命名文件

    在C++中实现批量重命名文件,主要涉及以下几个关键知识点: 1. **文件和目录操作**:C++标准库提供了`&lt;filesystem&gt;`库(C++17及以后版本)或第三方库如boost::filesystem,用于处理文件和目录。通过这些库,我们...

    apache-ant-zip.jar

    在处理ZIP文件的解压过程中,有以下几个关键知识点: 1. **编码设置**:Java的标准库默认使用的是"ISO-8859-1"编码,这对非ASCII字符不友好。在处理中文文件名时,需要显式指定"UTF-8"或其他支持中文的编码格式。 ...

    RenameWithDate_自动重命名_重命名_源码.zip

    标题中的“RenameWithDate_自动重命名_重命名_源码.zip”暗示了这是一个关于文件重命名的程序,其中包含了日期元素,可能是为了方便管理和跟踪文件。这个压缩包可能包含了一个或多个源代码文件,用于实现这样的自动...

    android 判断字符串是否是日期格式

    在Android开发中,判断一个字符串是否符合日期格式是一项常见的任务,尤其在处理用户输入或者解析数据时。这个任务可以通过多种方式来实现,涉及到日期时间处理、正则表达式以及Java或Android提供的日期解析类。以下...

Global site tag (gtag.js) - Google Analytics