Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
test-data-manalysis
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Members
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
朱广松
test-data-manalysis
Commits
22583204
Commit
22583204
authored
Sep 19, 2025
by
zhugs
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactor:代码优化
parent
275a9c44
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
69 行增加
和
19 行删除
+69
-19
src/main/java/Main.java
+5
-3
src/main/java/handler/AbstractFileHandler.java
+25
-0
src/main/java/handler/FileHandler.java
+8
-0
src/main/java/handler/FileHandlerFactory.java
+8
-0
src/main/java/text/TextHandler.java
+5
-6
src/main/java/watcher/DirWatcher.java
+10
-8
src/main/resources/config.properties
+8
-2
没有找到文件。
src/main/java/Main.java
View file @
22583204
import
database.InsertData
;
import
text.TextFileHandlerFactory
;
import
lombok.extern.slf4j.Slf4j
;
import
text.TextFileWatcher
;
import
util.ConfigUtil
;
import
watcher.DirWatcher
;
import
java.io.File
;
import
java.nio.file.Path
;
...
...
@@ -24,8 +25,8 @@ public class Main {
}
return
true
;
};
TextFileWatcher
textWatcher
=
new
TextFileWatcher
(
dirText
,
textFilter
);
textWatcher
.
startWatch
();
new
DirWatcher
(
dirText
,
textFilter
,
new
TextFileHandlerFactory
())
.
startWatch
();
// 监听 excel log文件
...
...
@@ -39,6 +40,7 @@ public class Main {
// excelWatcher.startWatch();
// 阻塞主线程
log
.
info
(
"程序已启动"
);
try
{
Thread
.
currentThread
().
join
();
}
catch
(
InterruptedException
e
)
{
...
...
src/main/java/handler/AbstractFileHandler.java
0 → 100644
View file @
22583204
package
handler
;
import
java.io.File
;
public
abstract
class
AbstractFileHandler
implements
FileHandler
{
protected
final
File
file
;
public
AbstractFileHandler
(
File
file
)
{
this
.
file
=
file
;
}
@Override
public
File
getFile
()
{
return
file
;
}
// 每个子类都要实现的具体处理逻辑
protected
abstract
void
processFile
(
File
file
);
@Override
public
void
run
()
{
processFile
(
file
);
}
}
\ No newline at end of file
src/main/java/handler/FileHandler.java
0 → 100644
View file @
22583204
package
handler
;
import
java.io.File
;
public
interface
FileHandler
extends
Runnable
{
File
getFile
();
}
\ No newline at end of file
src/main/java/handler/FileHandlerFactory.java
0 → 100644
View file @
22583204
package
handler
;
import
java.io.File
;
public
interface
FileHandlerFactory
{
AbstractFileHandler
create
(
File
file
);
}
\ No newline at end of file
src/main/java/text/TextHandler.java
View file @
22583204
...
...
@@ -2,6 +2,7 @@ package text;
import
database.InsertData
;
import
domain.ResultData
;
import
handler.AbstractFileHandler
;
import
lombok.extern.slf4j.Slf4j
;
import
java.io.*
;
...
...
@@ -17,16 +18,14 @@ import java.util.zip.ZipEntry;
import
java.util.zip.ZipOutputStream
;
@Slf4j
public
class
TextHandler
implements
Runnable
{
private
final
File
file
;
public
class
TextHandler
extends
AbstractFileHandler
{
public
TextHandler
(
File
file
)
{
this
.
file
=
file
;
super
(
file
)
;
}
@Override
p
ublic
void
run
(
)
{
p
rotected
void
processFile
(
File
file
)
{
log
.
info
(
"文件处理:{}"
,
file
.
getName
());
String
begin
=
"=+ SUMMARY begin =+"
;
String
end
=
"=+ SUMMARY end {2}=+"
;
...
...
@@ -77,7 +76,7 @@ public class TextHandler implements Runnable {
String
zipName
=
zipLogFile
(
file
);
data
.
setZipFileUrl
(
zipName
);
// data.setFileUrl(file.getAbsolutePath()
);
data
.
setFileUrl
(
file
.
getParent
()
+
zipName
);
new
InsertData
().
insert
(
data
);
}
...
...
src/main/java/
text/TextFile
Watcher.java
→
src/main/java/
watcher/Dir
Watcher.java
View file @
22583204
package
text
;
package
watcher
;
import
handler.FileHandlerFactory
;
import
lombok.extern.slf4j.Slf4j
;
import
java.io.File
;
...
...
@@ -8,15 +9,18 @@ import java.io.IOException;
import
java.nio.file.*
;
import
java.util.function.Predicate
;
@Slf4j
public
class
TextFile
Watcher
{
public
class
Dir
Watcher
{
private
final
Path
dir
;
private
final
Predicate
<
File
>
fileFilter
;
private
final
FileHandlerFactory
fileHandler
;
public
TextFileWatcher
(
Path
dir
,
Predicate
<
File
>
fileFilt
er
)
{
public
DirWatcher
(
Path
dir
,
Predicate
<
File
>
fileFilter
,
FileHandlerFactory
fileHandl
er
)
{
this
.
dir
=
dir
;
this
.
fileFilter
=
fileFilter
;
this
.
fileHandler
=
fileHandler
;
}
public
void
startWatch
()
{
...
...
@@ -29,8 +33,7 @@ public class TextFileWatcher {
File
[]
files
=
dir
.
toFile
().
listFiles
(
fileFilter:
:
test
);
if
(
files
!=
null
)
{
for
(
File
f
:
files
)
{
TextHandler
textHandler
=
new
TextHandler
(
f
);
Thread
.
ofVirtual
().
start
(
textHandler
);
Thread
.
ofVirtual
().
start
(
fileHandler
.
create
(
f
));
}
}
...
...
@@ -42,10 +45,9 @@ public class TextFileWatcher {
Path
fullPath
=
dir
.
resolve
((
Path
)
event
.
context
());
File
file
=
fullPath
.
toFile
();
if
(
fileFilter
.
test
(
file
)
&&
waitForFileReady
(
file
,
3
,
500
))
{
if
(
fileFilter
.
test
(
file
)
&&
waitForFileReady
(
file
,
3
,
500
))
{
log
.
info
(
"文件已创建: {}"
,
file
.
getName
());
TextHandler
textHandler
=
new
TextHandler
(
file
);
Thread
.
ofVirtual
().
start
(
textHandler
);
Thread
.
ofVirtual
().
start
(
fileHandler
.
create
(
file
));
}
}
key
.
reset
();
...
...
src/main/resources/config.properties
View file @
22583204
watch_dir
=
C:/Users/zhugso/Projects/chenyang/testdata/text
jdbc_url
=
jdbc:mysql://demo.docmis.cn:21702/test_data?serverTimezone=UTC%2B8&useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
jdbc_url
=
jdbc:mysql://localhost:3306/test_data?serverTimezone=UTC%2B8&useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
username
=
root
password
=
Gbms123456
password
=
000000
#jdbc_url=jdbc:mysql://demo.docmis.cn:21702/test_data?serverTimezone=UTC%2B8&useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
#username=root
#password=Gbms123456
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论