网页版批量文件重命名

功能:这是一个网页版的文件批量重命名

操作步骤:

输入文件所在的绝对路径,

输入你想要替换的关键字,

输入你想要用什么字符来替换他(可为空),

点击确定,文件将会批量被重命名,

点击撤回就会还原出起初的文件名字,

点击清空主要是一键清除文本框里面的内容。

总的有1个jsp,四个Java程序共同完成这个功能:

  start.jsp(显示界面)  

  CodeFilter.java(过滤器,主要负责编码)  

  ReceiveStartServlet.java(接受启动,进行文件操作)

  RevokeServlet.java(撤回操作Servlet)

  ClearServlet.java(清空操作)

未操作前图:

运行start.js的效果图:

运行后文件显示图:

start.jsp代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script>
    window.onload=function(){
        var oBtn1=document.getElementById(‘btn1‘);
        var oBtn2=document.getElementById(‘btn2‘);
        var aInput=document.getElementsByTagName(‘input‘);
        var s="";
        if(s==aInput[0].value){
        if(<%=session.getAttribute("startPath")%>==null){
        }else{
            aInput[0].value=‘<%=session.getAttribute("startPath")%>‘;
        }

        }else{
            alert("youzhi");
        }
         if(s!=aInput[1].value){
            aInput[1].value=‘<%=session.getAttribute("keyWords")%>‘;
        }
        if(s!=aInput[2].value){
            aInput[2].value=‘<%=session.getAttribute("replaceWords")%>
    ‘;
        }
        oBtn1.onclick = function() {
            self.location.href = ‘../RevokeServlet‘;
        }
        oBtn2.onclick = function() {
            self.location.href = ‘../ClearServlet‘;
        }
    }
</script>
<style>
body {
    background: RGBA(38, 38, 38, 1);
    font-size: 30px;
    font-family: 楷体;
    color: red;
}

div {
    height: 400px;
    width: 600px;
    border: 10px solid green;
    margin: 80px auto;
    text-align: center;
    border-radius: 35px 35px 35px 35px;
    padding-top: 45px;
}

p {
    font-size: 35px;
}

input {
    width: 60%;
    height: 20%;
}

.btn {
    width: 50px;
}
</style>
</head>
<body>
    <div>
        <form action="../ReceiveStartServlet" method="post">
            输入源路径:<input type="text" name="startPath"><br> 输入关键字:<input
                type="text" name="keyWords" /><br> 输入代替字:<input type="text"
                name="replaceWords" /><br> <input class="btn" type="submit"
                value="确认" /> <input id="btn1" class="btn" type="button" value="撤回" />
            <input id="btn2" class="btn" type="button" value="清空" /><br>
        </form>
    </div>
</body>
</html>

ReceiveStartServlet.java

package com.hputt;

import java.io.File;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.ws.Response;

/**
 * Servlet implementation class ReceiveStartServlet
 */
public class ReceiveStartServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    private static String[] test;
    public static String[] test1;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public ReceiveStartServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        doPost(request, response);
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        System.out.println("进入doPost");
        String startPath = request.getParameter("startPath");
        String keyWords = request.getParameter("keyWords");
        String replaceWords = request.getParameter("replaceWords");

        request.getSession().setAttribute("startPath", startPath);
        request.getSession().setAttribute("keyWords", keyWords);
        request.getSession().setAttribute("replaceWords", replaceWords);
        try {
            sure(startPath, keyWords, replaceWords,response);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    public static void sure(String s1, String s2, String s3,HttpServletResponse response) throws Exception {
        File file = new File(s1);
        test = file.list();
        test1 = new String[test.length];
        for (int i = 0; i < test.length; i++) {
            test1[i] = test[i];
        }
        // 遍历文件的名字
        for (int i = 0; i < test.length; i++) {
            // 判断是不是有你想去除的关键字
            if (test[i].indexOf(s2) != -1) {
                // 保存重命名后的文件名
                test[i] = test[i].replace(s2, s3);
            }
        }

        File[] files = file.listFiles();
        for (int i = 0; i < test.length;) {
            for (File f : files) {
                if (f.isFile()) {
                    // 循环赋重命名后的名字
                    f.renameTo(new File(s1 + "/" + test[i++]));
                }
            }
        }
        response.sendRedirect("start/start.jsp");
    }
}

RevokeServlet.java

package com.hputt;

import java.io.File;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class RevokeServlet
 */
public class RevokeServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    private static String[] test = ReceiveStartServlet.test1;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public RevokeServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        doPost(request, response);
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        String startPath = (String)request.getSession().getAttribute("startPath");
        try {
            revoke(startPath,response);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

    public static void revoke(String s1, HttpServletResponse response) throws Exception {
        // 重新赋回原来的名字
        File file = new File(s1);
        File[] files = file.listFiles();
        for (int i = 0; i < test.length;) {
            for (File f : files) {
                if (f.isFile()) {
                    // 注意是test1
                    f.renameTo(new File(s1 + "/" + test[i++]));
                }
            }
        }
        response.sendRedirect("start/start.jsp");
    }
}

ClearServlet.java

package com.hputt;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class ClearServlet
 */
public class ClearServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public ClearServlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doPost(request, response);
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        request.getSession().removeAttribute("startPath");
        request.getSession().removeAttribute("keyWords");
        request.getSession().removeAttribute("replaceWords");
        response.sendRedirect("start/start.jsp");
    }

}

CodeFilter.java

package com.hputt.filter;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;

/**
 * Servlet Filter implementation class CodeFilter
 */
public class CodeFilter implements Filter {

    /**
     * Default constructor.
     */
    public CodeFilter() {
        // TODO Auto-generated constructor stub
    }

    /**
     * @see Filter#destroy()
     */
    public void destroy() {
        // TODO Auto-generated method stub
    }

    /**
     * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
     */
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws IOException, ServletException {
        // TODO Auto-generated method stub
        // place your code here
        HttpServletRequest req = (HttpServletRequest) request;
        if ("post".equalsIgnoreCase(req.getMethod())) {
            req.setCharacterEncoding("utf-8");
        }
        // pass the request along the filter chain
        chain.doFilter(request, response);
    }

    /**
     * @see Filter#init(FilterConfig)
     */
    public void init(FilterConfig fConfig) throws ServletException {
        // TODO Auto-generated method stub
    }

}
时间: 2024-10-13 00:10:08

网页版批量文件重命名的相关文章

用Python写的批量文件重命名

  有些时候下载图片或其他文件,文件名都怪怪的,可选的办法是下载一个文件批量重命名的软件.当然,如果想自己'DIY'一把的话编个Python脚本最好不过了. 下面的代码实现的对指定类型的文件进行批量重命名.拷贝下面的代码到待批量命名的文件夹下,保存为xx.py直接运行,程序会提示需要批量命名的扩展名,以及重命名时的文件前缀. # -*- coding: cp936 -*- """ Created on Wed Jun 25 16:24:23 2014 @author: Adm

批量创建用户与批量文件重命名

title: 批量创建用户与批量文件重命名 tags: 批量,用户,创建,重命名 批量创建用户与批量文件重命名 1. 批量创建用户 如果需要批量创建用户,且用户名为stu01-stu10,用户密码为随机的10位密码. 1.1 分析解答 如果用户名为stu01的话,我们可以采用for循环,直接变量范围为01-10,密码随机的话我们可以采用系统默认的随机变量RANDOM,因为默认的RANDOM只有5位数字,因此我们可以给它md5加密,然后取其中的8位字符当做密码.当然我们也可以不用循环,直接使用命令

批量文件重命名

批量文件重命名 rename  flows.COMPLETED    flows   *.flows COMPLETED 将所有*.flows. COMPLETED 文件结尾的文件  改成 flows文件 rename命令说明 rename命令 文件处理 rename命令用字符串替换的方式批量改变文件名. 语法 rename(参数) 参数 原字符串:将文件名需要替换的字符串: 目标字符串:将文件名中含有的原字符替换成目标字符串: 文件:指定要改变文件名的文件列表. 实例 将main1.c重命名为

python之批量文件重命名

批量文件重命名问题,生活中或是工作中会经常用到.方法比较low多试验几次就可以了. # -*- coding: utf-8 -*- # @Time :2018/8/25 20:18 # @Author : ELEVEN # @File : 011_批量重命名文件.py # @Software: PyCharm import os # 1. 获取一个要重命名的文件夹的名字 folder_name = input("请输入要重命名的文件夹:") # 2. 获取那个文件夹中所有的文件名字 f

Java用来进行批量文件重命名,批量提取特定类型文件

原因: 因为在网上下载视频教程,有的名字特别长,一般都是机构或者网站的宣传,不方便直接看到视频的简介,所以做了下面的第一个功能. 因为老师发的课件中,文件夹太多,想把docx都放在同一个文件夹下面,一个一个找出来太麻烦,所以做了第二个功能.       最近刚刚学了Java文件和流的知识,所以正好练练手,这也是自己的第一个exe程序,分享一下哈. (导出jar文件,以及用工具exe4j生成exe文件,这部分省略了哈) 用到的知识: 用到Java中文件,流的知识,以及简单的GUI知识. 功能:  

linux 批量文件重命名

centos 6.6  mv  rename  都不能满足需求 所有文件名格式如下: [[email protected]][1442146016999][<[email protected]>][[email protected]][您已成功预订[华山裕华宾馆]].html 需要将"]["更改为"###"并删除首尾的"["和"]" 1.首先转义   ls | sed 's/@/\\@/g' | sed 's/\[

网页版批量提取目录下特定文件类型

功能: 这是一个网页版的文件批量提取特定目录下的某种类型的文件的功能. 初始化页面文本框中值为空,当输入完成确认后,文本框中数据不会发生变化,撤销也不会发生变化,点击清空按钮则全部清空. 主要思路: 1.文本框中的值用(String)session.getAttribute()来填充,第一次打开界面,用if语句来判断,显示空,跳转过来的就显示第一次输入的值. 2.ReceiveStartServlet.java,RevokeServlet.java,ClearServlet.java都跳转到起始

asp.net 文件批量移动重命名

最近闲时写了个批量移动重命名文件的工具 点击下载工具

Ubuntu Linux 批量修改图片大小以及文件重命名

0x00 本文属于随笔, 仅供作者学习记录. 0x01 批量修改图片大小: [email protected]:~/$ find ./ -name '*.jpg' -exec convert -resize 220X520! {} {} \; 备注: 上述命令中, find 路径 -name 匹配.jpg后缀的文件 -exec 对find结果执行convert命令 后面是convert参数, 如果没有安装convert, sudo apt-get install convert安装即可. -re