Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Kwan的解忧杂货铺@新空间代码工作室
SpringBoot-kwan
提交
3fb1e69f
S
SpringBoot-kwan
项目概览
Kwan的解忧杂货铺@新空间代码工作室
/
SpringBoot-kwan
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
SpringBoot-kwan
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
3fb1e69f
编写于
3月 24, 2023
作者:
Kwan的解忧杂货铺@新空间代码工作室
🐭
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix:白名单图片处理
上级
779aadfa
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
43 addition
and
18 deletion
+43
-18
src/main/java/com/kwan/springbootkwan/utils/FileContainsUtil.java
.../java/com/kwan/springbootkwan/utils/FileContainsUtil.java
+43
-18
未找到文件。
src/main/java/com/kwan/springbootkwan/utils/FileContainsUtil.java
浏览文件 @
3fb1e69f
package
com.kwan.springbootkwan.utils
;
package
com.kwan.springbootkwan.utils
;
import
cn.hutool.core.collection.CollectionUtil
;
import
cn.hutool.core.date.StopWatch
;
import
cn.hutool.core.date.StopWatch
;
import
com.alibaba.fastjson2.JSON
;
import
com.alibaba.fastjson2.JSON
;
import
com.google.common.base.Charsets
;
import
com.google.common.base.Charsets
;
...
@@ -32,24 +33,46 @@ public class FileContainsUtil {
...
@@ -32,24 +33,46 @@ public class FileContainsUtil {
* 博客路径
* 博客路径
*/
*/
private
static
final
String
BLOG_FOLDER
=
"/Users/qinyingjie/Documents/idea-workspace/blog/"
;
private
static
final
String
BLOG_FOLDER
=
"/Users/qinyingjie/Documents/idea-workspace/blog/"
;
/**
* 白名单
*/
private
static
final
String
[]
WHITELISTS
=
{
"http://qinyingjie.top/blogImg/image-20230324112725149.png"
};
public
static
void
main
(
String
[]
args
)
throws
IOException
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
StopWatch
stopWatch
=
new
StopWatch
();
StopWatch
stopWatch
=
new
StopWatch
();
stopWatch
.
start
();
stopWatch
.
start
(
"删除未用到的图片"
);
//不存在的图片集合
final
List
<
String
>
isNotExist
=
new
ArrayList
<>();
final
List
<
String
>
isNotExist
=
new
ArrayList
<>();
//获取
picPath下面所有的文件名
//获取
所有图片名称
final
List
<
String
>
picNames
=
getPicName
(
PIC_PATH
);
final
List
<
String
>
picNames
=
getPicName
(
PIC_PATH
);
System
.
out
.
println
(
"图片总数为"
+
picNames
.
size
());
System
.
out
.
println
(
"图片总数为"
+
picNames
.
size
());
for
(
String
word
:
picNames
)
{
if
(
CollectionUtil
.
isNotEmpty
(
picNames
))
{
IS_EXIST
=
false
;
for
(
String
picName
:
picNames
)
{
//指定类型的文件
//是白名单里面的图片,直接忽略
String
suffix
=
".md"
;
boolean
isWhite
=
false
;
//包含某个字符串
for
(
String
whitelist
:
WHITELISTS
)
{
traverseFolder
(
BLOG_FOLDER
,
suffix
,
word
);
if
(
whitelist
.
contains
(
picName
))
{
//文件不存在
isWhite
=
true
;
if
(!
IS_EXIST
)
{
break
;
isNotExist
.
add
(
word
);
}
deletePic
(
PIC_PATH
+
word
);
}
if
(
isWhite
)
{
continue
;
}
//默认不存在
IS_EXIST
=
false
;
//指定类型的文件
List
<
String
>
suffix
=
new
ArrayList
<>();
suffix
.
add
(
".md"
);
suffix
.
add
(
".js"
);
//包含某个字符串
traverseFolder
(
BLOG_FOLDER
,
suffix
,
picName
);
//文件不存在
if
(!
IS_EXIST
)
{
isNotExist
.
add
(
picName
);
deletePic
(
PIC_PATH
+
picName
);
}
}
}
}
}
System
.
out
.
println
(
"不存在图片总数为"
+
isNotExist
.
size
());
System
.
out
.
println
(
"不存在图片总数为"
+
isNotExist
.
size
());
...
@@ -66,7 +89,7 @@ public class FileContainsUtil {
...
@@ -66,7 +89,7 @@ public class FileContainsUtil {
* @param word
* @param word
* @throws IOException
* @throws IOException
*/
*/
public
static
void
traverseFolder
(
String
path
,
String
suffix
,
String
word
)
throws
IO
Exception
{
public
static
void
traverseFolder
(
String
path
,
List
<
String
>
suffixs
,
String
word
)
throws
Exception
{
File
file
=
new
File
(
path
);
File
file
=
new
File
(
path
);
if
(
file
.
exists
())
{
if
(
file
.
exists
())
{
//获取文件夹下的文件
//获取文件夹下的文件
...
@@ -75,11 +98,13 @@ public class FileContainsUtil {
...
@@ -75,11 +98,13 @@ public class FileContainsUtil {
for
(
File
file2
:
files
)
{
for
(
File
file2
:
files
)
{
//是否是文件夹
//是否是文件夹
if
(
file2
.
isDirectory
())
{
if
(
file2
.
isDirectory
())
{
traverseFolder
(
file2
.
getAbsolutePath
(),
suffix
,
word
);
traverseFolder
(
file2
.
getAbsolutePath
(),
suffix
s
,
word
);
}
else
{
}
else
{
//包含md结尾的文件
for
(
String
suffix
:
suffixs
)
{
if
(
file2
.
getAbsolutePath
().
contains
(
suffix
))
{
//包含md结尾的文件
getParams
(
file2
.
getAbsolutePath
(),
word
);
if
(
file2
.
getAbsolutePath
().
contains
(
suffix
))
{
getParams
(
file2
.
getAbsolutePath
(),
word
);
}
}
}
}
}
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录