0
点赞
收藏
分享

微信扫一扫

一键将IDEA中将一个目录下的html文件转为jsp文件

是归人不是过客 2022-03-18 阅读 85
java
import java.io.File;
import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.StandardOpenOption;
import java.util.List;

public class Test {

    public static void main(String[] args) throws IOException {
        replaceSuffix(new File("D:\\workspaces\\Idea-workspace1\\JavaWeb2\\book\\web"), "html", "jsp");
    }

    /**
     * 转换文件
     * @param file 要转文件所在的目录
     * @param oldSuffix 要转文件后缀名
     * @param newSuffix 目标文件后缀名
     * @throws IOException
     */
    public static void replaceSuffix(File file, String oldSuffix, String newSuffix) throws IOException {
        File[] listFiles = file.listFiles();

        for (int i = 0; i < listFiles.length; i++) {
            if (listFiles[i].isDirectory()) {
                replaceSuffix(listFiles[i], oldSuffix, newSuffix);
            } else {
                if (listFiles[i].isFile() && listFiles[i].getName().endsWith(oldSuffix)) {
                    String absolutePath = listFiles[i].getAbsolutePath();

                    List<String> lines = Files.readAllLines(listFiles[i].toPath(), Charset.forName("UTF-8"));
                    lines.add(0, "<%@page contentType=\"text/html;charset=utf-8\" %>");

                    int lastIndexOf = absolutePath.lastIndexOf(".");
                    String prefix = absolutePath.substring(0, lastIndexOf);
                    File newFile = new File(prefix + "."+newSuffix);
                    newFile.createNewFile();
                    Files.write(newFile.toPath(), lines, Charset.forName("UTF-8"), StandardOpenOption.CREATE);

                    System.out.println(newFile.getAbsolutePath());
                }
            }
        }
    }
}
举报

相关推荐

0 条评论