博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
查询项目中未被使用的js、css和图片
阅读量:5243 次
发布时间:2019-06-14

本文共 5639 字,大约阅读时间需要 18 分钟。

package com.wj;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import java.util.List;public class FileUtil {    public FileUtil() {    }    private static List
list = new ArrayList
();//所有的后缀为.js,.css,.jsp,.html的文件地址 private static List
list1 = new ArrayList
();//所有指定后缀的文件地址 public static void main(String[] args) { try { //全部文件 readfile("E:\\work\\svn\\parent-cp\\trunk\\sm-front-cp\\src\\main\\webapp\\"); writeFile(list, "E:\\all.txt"); //指定文件 readfile2("E:\\work\\svn\\parent-cp\\trunk\\sm-front-cp\\src\\main\\webapp\\", 3); writeFile(list1, "E:\\图片.txt"); deleteAllNoUseJs2("E:\\未使用的图片名称.txt", false); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 删除项目中未引用的文件 * @param fileName 把未使用的文件名称生成到文本 * @param isDelete 是否执行删除操作 * @author wangjian * @date 2018年9月19日 上午10:05:27 */ private static void deleteAllNoUseJs2(String fileName, boolean isDelete) { List
lsit = new ArrayList
(); for (String s : list1) { String content = s.substring(s.lastIndexOf("\\")+1); System.out.println("原文件=="+content); boolean flag = false; for (String ss : list) { try { FileReader fr = new FileReader(ss); @SuppressWarnings("resource") BufferedReader br = new BufferedReader(fr); String temp = "";// 用于临时保存每次读取的内容 while (temp != null) { temp = br.readLine(); if (temp != null && temp.contains(content)) { System.out.println("找到已使用的文件= " + content); flag = true; break; } } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } if (!flag) { System.out.println("------------没有使用的文件路径" + s); File file = new File(s); if (isDelete) { file.delete(); } System.out.println("将要删除的文件= "+file.getName()); lsit.add(s); } } writeFile(lsit, fileName); } /** * 找文件夹下面所有的后缀为.js,.css,.jsp,.html的文件 * @param filepath * @throws FileNotFoundException * @throws IOException * @author wangjian * @date 2018年9月19日 上午10:07:44 */ public static void readfile(String filepath) throws FileNotFoundException, IOException { try { File file = new File(filepath); if (!file.isDirectory()) { System.out.println("文件"); System.out.println("path==========" + file.getPath()); System.out.println("absolutepath===========" + file.getAbsolutePath()); System.out.println("name===========" + file.getName()); } else if (file.isDirectory()) { String[] filelist = file.list(); for (int i = 0; i < filelist.length; i++) { File readfile = new File(filepath + "\\" + filelist[i]); if (!readfile.isDirectory()) { String filename = readfile.getName(); String lastname = filename.substring(filename .lastIndexOf(".")); if (lastname.equals(".css") || lastname.equals(".jsp") || lastname.equals(".html") || lastname.equals(".js") ) { String realpath = readfile.getPath(); list.add(realpath); } } else if (readfile.isDirectory()) { readfile(filepath + "\\" + filelist[i]); } } } } catch (FileNotFoundException e) { System.out.println("readfile() Exception:" + e.getMessage()); } } /** * 找文件夹下面指定后缀名的文件 * @param filepath * @param type 1、js 2、css 3、图片 * @throws FileNotFoundException * @throws IOException * @author wangjian * @date 2018年9月19日 上午10:08:04 */ public static void readfile2(String filepath, int type) throws FileNotFoundException, IOException { try { File file = new File(filepath); if (!file.isDirectory()) { System.out.println("文件"); System.out.println("path==========" + file.getPath()); System.out.println("absolutepath===========" + file.getAbsolutePath()); System.out.println("name===========" + file.getName()); } else if (file.isDirectory()) { String[] filelist = file.list(); for (int i = 0; i < filelist.length; i++) { File readfile = new File(filepath + "\\" + filelist[i]); if (!readfile.isDirectory()) { String filename = readfile.getName(); String lastname = filename.substring(filename .lastIndexOf(".")); if (type == 1 && lastname.equals(".js") && !lastname.equals(".json") && !lastname.equals(".jsp")) { String realpath = readfile.getPath(); System.out.println("path=" + readfile.getPath()); list1.add(realpath); } else if (type == 2 && lastname.equals(".css")) { String realpath = readfile.getPath(); System.out.println("path=" + readfile.getPath()); list1.add(realpath); }else if (type == 3 && (lastname.equals(".gif") || lastname.equals(".png") || lastname.equals(".jpg"))) { String realpath = readfile.getPath(); System.out.println("path=" + readfile.getPath()); list1.add(realpath); } } else if (readfile.isDirectory()) { readfile2(filepath + "\\" + filelist[i], type); } } } } catch (FileNotFoundException e) { System.out.println("readfile2() Exception:" + e.getMessage()); } } /** * 把list记录打印出来 * @param list * @param fileName * @author wangjian * @date 2018年9月19日 上午10:13:05 */ private static void writeFile(List
list, String fileName){ StringBuilder sb = new StringBuilder(); for(String s : list){ sb.append(s+"\r\n"); } FileWriter fw = null; PrintWriter pw = null; try { fw = new FileWriter(fileName); pw = new PrintWriter(fw); pw.println(sb.toString()); pw.flush(); } catch (IOException e) { e.printStackTrace(); } finally{ if (null != pw) { pw.close(); } if (null != fw) { try { fw.close(); } catch (IOException e) { e.printStackTrace(); } } } }}

 

转载于:https://www.cnblogs.com/wangjian1990/p/9673166.html

你可能感兴趣的文章
ssh 简介
查看>>
26.无向网邻接表类
查看>>
Visual Studio Code 打开.py代码报Linter pylint is not installed解决办法
查看>>
洛谷 p1352 没有上司的舞会 题解
查看>>
Python 数据类型
查看>>
Task 与 Activity
查看>>
Google Guava学习笔记——简介
查看>>
历时八年,HTML5 标准终于完工了
查看>>
17.树的子结构
查看>>
D - Mike and strings
查看>>
C++:多维数组的动态分配(new)和释放(delete)
查看>>
c#基础学习(0806)之抽象类实现多态
查看>>
S5PV210根文件系统的制作(一)
查看>>
51NOD 1244 莫比乌斯函数之和
查看>>
[bzoj1923]外星千足虫[高斯消元]
查看>>
返利项目 1
查看>>
多重背包(二进制模板+普通解法)
查看>>
广义逆高斯分布(Generalized Inverse Gaussian Distribution)及修正贝塞尔函数
查看>>
spring源码之—Assert.notNull
查看>>
1Web语言:开始了解HTML
查看>>