Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qq_51543278
FTPsystem
提交
a789a081
F
FTPsystem
项目概览
qq_51543278
/
FTPsystem
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
3
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
12
Wiki
分析
仓库
DevOps
项目成员
Pages
F
FTPsystem
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
3
Issue
3
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
12
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
a789a081
编写于
11月 05, 2022
作者:
1
1537639
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
c
上级
46f02764
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
33 addition
and
13 deletion
+33
-13
src/ftp/Download.java
src/ftp/Download.java
+1
-1
src/ftp/TaskList.java
src/ftp/TaskList.java
+27
-11
src/ftp/Upload.java
src/ftp/Upload.java
+1
-1
src/ftp/test.java
src/ftp/test.java
+4
-0
未找到文件。
src/ftp/Download.java
浏览文件 @
a789a081
...
...
@@ -12,7 +12,7 @@ import java.util.ArrayList;
import
java.util.List
;
public
class
Download
implements
Runnable
{
p
rivate
final
String
name
;
p
ublic
final
String
name
;
private
final
FTPClient
ftpClient
;
private
final
String
absoluteLocalDirectory
;
private
final
String
filename
;
...
...
src/ftp/TaskList.java
浏览文件 @
a789a081
...
...
@@ -2,28 +2,44 @@ package ftp;
import
org.apache.commons.net.ftp.FTPClient
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.Executors
;
import
java.util.concurrent.ThreadPoolExecutor
;
import
java.util.Queue
;
import
java.util.concurrent.*
;
public
class
TaskList
{
ThreadPoolExecutor
pool
;
ExecutorService
es
=
Executors
.
newFixedThreadPool
(
100
);
ExecutorService
es_upload
=
Executors
.
newFixedThreadPool
(
20
);
ExecutorService
es_download
=
Executors
.
newFixedThreadPool
(
20
);
ThreadPoolExecutor
pool_upload
=(
ThreadPoolExecutor
)
es_upload
;
ThreadPoolExecutor
pool_download
=(
ThreadPoolExecutor
)
es_download
;
public
void
newDownload
(
String
name
,
FTPClient
ftpClient
,
String
filename
,
String
absoluteLocalDirectory
)
//提交一个下载任务
{
es
.
submit
(
new
Download
(
"Downloading:"
+
filename
,
ftpClient
,
filename
,
absoluteLocalDirectory
));
es
_download
.
submit
(
new
Download
(
"Downloading:"
+
filename
,
ftpClient
,
filename
,
absoluteLocalDirectory
));
}
public
void
newUpload
(
FTPClient
ftpClient
,
String
filepath
)
//提交一个上传任务
{
es
.
submit
(
new
Upload
(
"Uploading:"
+
filepath
,
ftpClient
,
filepath
));
es
_upload
.
submit
(
new
Upload
(
"Uploading:"
+
filepath
,
ftpClient
,
filepath
));
}
public
void
shutDownAlltask
()
//关闭所有任务
public
void
shutDownAlltask
()
//关闭所有
下载与上传
任务
{
es
.
shutdownNow
();
es_upload
.
shutdownNow
();
es_download
.
shutdownNow
();
}
public
List
<
String
>
TaskView
()
//返回一个包含当前所有任务名字的字符串列表,用以刷新
public
List
<
String
>
TaskView
()
//返回一个包含当前所有任务名字的字符串列表,用以刷新
,前半部分为上传任务,后半部分为
{
es
.
Queue
<
Runnable
>
queue
;
queue
=
pool_upload
.
getQueue
();
List
<
String
>
list
=
new
ArrayList
<>();
while
(!
queue
.
isEmpty
())
{
Upload
r
=(
Upload
)
queue
.
poll
();
list
.
add
(
r
.
name
);
}
queue
=
pool_download
.
getQueue
();
while
(!
queue
.
isEmpty
())
{
Download
r
=(
Download
)
queue
.
poll
();
list
.
add
(
r
.
name
);
}
}
}
src/ftp/Upload.java
浏览文件 @
a789a081
...
...
@@ -8,7 +8,7 @@ import java.io.IOException;
public
class
Upload
implements
Runnable
//上传文件,上传文件夹,新建文件夹
{
p
rivate
final
String
name
;
p
ublic
final
String
name
;
private
final
FTPClient
ftpClient
;
private
final
String
filepath
;
public
Upload
(
String
name
,
FTPClient
ftpClient
,
String
filepath
)
{
...
...
src/ftp/test.java
0 → 100644
浏览文件 @
a789a081
package
ftp
;
public
class
test
{
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录