博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
清除eclipse项目中没用的图片、js、css代码
阅读量:4322 次
发布时间:2019-06-06

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

import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;import java.nio.file.Files;import java.nio.file.Paths;import java.util.ArrayList;import java.util.List;public class ClearFile  {      static String folder = "E:\\NewServer\\Wechat\\JOINT_CARE\\Source";    List
filelist = new ArrayList
(); List
contentlist = new ArrayList
(); public static void main(String[] args) throws IOException { ClearFile clear = new ClearFile(); clear.clear(folder); } public void clear(String folder) throws IOException{ getAllFilePaths(new File(folder)); getContentFiles(new File(folder)); for(FilePojo file : contentlist){ search(file.getPath()); } System.out.println("******************************************删除了以下文件************************************"); for(FilePojo file : filelist){ if(!file.isFind()) { System.out.println(file.getPath()); new File(file.getPath()).delete(); } } } private void getAllFilePaths(File filePath){ File[] files = filePath.listFiles(); for(File file : files){ if(file.isDirectory()){ getAllFilePaths(file); }else{ String filename = file.getName(); if(filename.contains(".jpg") || filename.contains(".png") || filename.contains(".gif") || filename.contains(".js") || filename.contains(".css")) { FilePojo pojo = new FilePojo(); pojo.setName(file.getName()); pojo.setPath(file.getPath()); filelist.add(pojo); } } } } private void getContentFiles(File filePath){ File[] files = filePath.listFiles(); for(File file : files){ if(file.isDirectory()){ getContentFiles(file); }else{ String filename = file.getName(); if(filename.contains(".html") || filename.contains(".ftl") || filename.contains(".css") || filename.contains(".js") || filename.contains(".java")) { FilePojo pojo = new FilePojo(); pojo.setName(file.getName()); pojo.setPath(file.getPath()); contentlist.add(pojo); } } } } public void search(String filename) throws IOException { BufferedReader br = new BufferedReader(new FileReader(filename)); for(String line; (line = br.readLine()) != null; ) { for(FilePojo file : filelist){ if (line.contains(file.getName())){ file.setFind(true); } } } br.close(); } private class FilePojo{ private String name; private String path; private boolean find; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPath() { return path; } public void setPath(String path) { this.path = path; } public boolean isFind() { return find; } public void setFind(boolean find) { this.find = find; } }}

 有个小问题:如果文件名为01.jpg, 代码中引用了xx01.jpg,则01.jpg会被认为是需要的文件。

转载于:https://www.cnblogs.com/season2009/p/9600213.html

你可能感兴趣的文章
64位MATLAB和C混合编程以及联合调试
查看>>
原生js大总结二
查看>>
PHP基础
查看>>
UVa 11488 超级前缀集合(Trie的应用)
查看>>
Django 翻译与 LANGUAGE_CODE
查看>>
[转]iOS教程:SQLite的创建数据库,表,插入查看数据
查看>>
【转载】OmniGraffle (一)从工具栏开始
查看>>
初识ionic
查看>>
java 中打印调用栈
查看>>
开发 笔记
查看>>
数据挖掘算法比赛 - 简单经验总结
查看>>
win7(64位)php5.5-Apache2.4-mysql5.6环境安装
查看>>
生成商户订单号/退款单号
查看>>
使用Android OpenGL ES 2.0绘图之六:响应触摸事件
查看>>
我们过去几年做对了哪些事
查看>>
ubuntu 16.04LTS
查看>>
javascript深入理解js闭包
查看>>
Oracle的安装
查看>>
Android Socket连接PC出错问题及解决
查看>>
Android Studio-—使用OpenCV的配置方法和demo以及开发过程中遇到的问题解决
查看>>