Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Kwan的解忧杂货铺@新空间代码工作室
SpringBoot-kwan
提交
a2b69564
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看板
提交
a2b69564
编写于
10月 23, 2023
作者:
Kwan的解忧杂货铺@新空间代码工作室
🐭
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix:修改分组和时间
上级
dca283bc
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
22 addition
and
2 deletion
+22
-2
src/main/java/com/kwan/springbootkwan/utils/FileContainsUtil.java
.../java/com/kwan/springbootkwan/utils/FileContainsUtil.java
+22
-2
未找到文件。
src/main/java/com/kwan/springbootkwan/utils/FileContainsUtil.java
浏览文件 @
a2b69564
...
...
@@ -9,8 +9,10 @@ import lombok.extern.slf4j.Slf4j;
import
java.io.File
;
import
java.io.IOException
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.stream.Collectors
;
...
...
@@ -55,6 +57,7 @@ public class FileContainsUtil {
public
static
void
main
(
String
[]
args
)
throws
Exception
{
StopWatch
stopWatch
=
new
StopWatch
();
currentTime
(
"开始时间"
);
stopWatch
.
start
(
"删除未用到的图片"
);
//不存在的图片集合
final
List
<
String
>
isNotExist
=
new
ArrayList
<>();
...
...
@@ -70,6 +73,7 @@ public class FileContainsUtil {
log
.
info
(
"耗时统计信息:{}"
,
JSON
.
toJSONString
(
stopWatch
.
getTaskInfo
()));
log
.
info
(
"耗时秒数:{}"
,
JSON
.
toJSONString
(
stopWatch
.
getTotalTimeSeconds
()));
log
.
info
(
"耗时分钟数:{}"
,
JSON
.
toJSONString
(
stopWatch
.
getTotalTimeSeconds
()
/
60
));
currentTime
(
"结束时间"
);
}
/**
...
...
@@ -81,7 +85,7 @@ public class FileContainsUtil {
private
static
void
moreThread
(
List
<
List
<
String
>>
groupedPicNames
,
List
<
String
>
isNotExist
)
{
// 创建并启动4个线程来处理每个组的任务
List
<
Thread
>
threads
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
8
;
i
++)
{
for
(
int
i
=
0
;
i
<
6
;
i
++)
{
final
List
<
String
>
group
=
groupedPicNames
.
get
(
i
);
Thread
thread
=
new
Thread
(()
->
{
// 在这里执行处理图片组的任务
...
...
@@ -128,12 +132,13 @@ public class FileContainsUtil {
/**
* 数据分组
* 经过测试6组和8组的时间基本一致,线程数并不是越大越好
*
* @param picNames
* @return
*/
private
static
List
<
List
<
String
>>
dataGroup
(
List
<
String
>
picNames
)
{
int
groupSize
=
picNames
.
size
()
/
8
;
// 计算每组的大小
int
groupSize
=
picNames
.
size
()
/
6
;
// 计算每组的大小
List
<
List
<
String
>>
groupedPicNames
=
picNames
.
stream
()
.
collect
(
Collectors
.
groupingBy
(
e
->
picNames
.
indexOf
(
e
)
/
groupSize
))
...
...
@@ -231,4 +236,19 @@ public class FileContainsUtil {
System
.
err
.
printf
(
"无法删除的路径 %s%n%s"
,
picPath
,
e
);
}
}
/**
* 打印当前时间
*
* @param str
*/
public
static
void
currentTime
(
String
str
)
{
// 获取当前时间
Date
currentTime
=
new
Date
();
// 创建一个格式化器以将时间转换为所需的格式
SimpleDateFormat
dateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
// 使用格式化器将时间转换为字符串并打印
String
formattedTime
=
dateFormat
.
format
(
currentTime
);
System
.
out
.
println
(
str
+
":"
+
formattedTime
);
}
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录