Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
L
ldmap-download
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
王健
ldmap-download
Commits
d70f666b
提交
d70f666b
authored
4月 07, 2020
作者:
张航
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改了工具类信息以及主函数日志打印
上级
a39ec305
显示空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
53 行增加
和
13 行删除
+53
-13
DownMap.java
...java/com/comleader/ldmapdownload/application/DownMap.java
+6
-1
HttpClientConfig.java
.../com/comleader/ldmapdownload/config/HttpClientConfig.java
+1
-1
HttpUtil.java
src/main/java/com/comleader/ldmapdownload/util/HttpUtil.java
+36
-3
download-map.properties
src/main/resources/config/download-map.properties
+5
-4
httpclient.properties
src/main/resources/config/httpclient.properties
+5
-4
没有找到文件。
src/main/java/com/comleader/ldmapdownload/application/DownMap.java
浏览文件 @
d70f666b
...
@@ -151,6 +151,11 @@ public class DownMap implements ApplicationRunner {
...
@@ -151,6 +151,11 @@ public class DownMap implements ApplicationRunner {
}
}
/**
* @description: 下载地图的Callable,该类用于异步多线程下载地图
* @author: zhanghang
* @date: 2020/4/7
**/
class
DownMapCallable
implements
Callable
<
String
>
{
class
DownMapCallable
implements
Callable
<
String
>
{
private
int
z
;
private
int
z
;
...
@@ -178,7 +183,7 @@ public class DownMap implements ApplicationRunner {
...
@@ -178,7 +183,7 @@ public class DownMap implements ApplicationRunner {
}
}
return
imgUrl
+
" Loaded"
;
return
imgUrl
+
" Loaded"
;
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
//log.error(imgUrl + " Down Failed"
);
e
.
printStackTrace
(
);
errResults
.
add
(
"Failed: "
+
imgUrl
+
" ErrorMsg >> "
+
e
.
getMessage
());
errResults
.
add
(
"Failed: "
+
imgUrl
+
" ErrorMsg >> "
+
e
.
getMessage
());
return
imgUrl
+
" Down Failed"
;
return
imgUrl
+
" Down Failed"
;
}
}
...
...
src/main/java/com/comleader/ldmapdownload/config/HttpClientConfig.java
浏览文件 @
d70f666b
...
@@ -180,7 +180,7 @@ public class HttpClientConfig {
...
@@ -180,7 +180,7 @@ public class HttpClientConfig {
setConnectionRequestTimeout
(
connectionRequestTimeout
).
setConnectionRequestTimeout
(
connectionRequestTimeout
).
setSocketTimeout
(
socketTimeout
);
setSocketTimeout
(
socketTimeout
)
.
setRedirectsEnabled
(
true
)
;
}
}
...
...
src/main/java/com/comleader/ldmapdownload/util/HttpUtil.java
浏览文件 @
d70f666b
...
@@ -3,6 +3,7 @@ package com.comleader.ldmapdownload.util;
...
@@ -3,6 +3,7 @@ package com.comleader.ldmapdownload.util;
import
cn.hutool.core.io.FileUtil
;
import
cn.hutool.core.io.FileUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.http.HttpEntity
;
import
org.apache.http.client.config.RequestConfig
;
import
org.apache.http.client.config.RequestConfig
;
import
org.apache.http.client.methods.CloseableHttpResponse
;
import
org.apache.http.client.methods.CloseableHttpResponse
;
import
org.apache.http.client.methods.HttpGet
;
import
org.apache.http.client.methods.HttpGet
;
...
@@ -11,9 +12,7 @@ import org.springframework.stereotype.Component;
...
@@ -11,9 +12,7 @@ import org.springframework.stereotype.Component;
import
javax.annotation.PostConstruct
;
import
javax.annotation.PostConstruct
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.io.File
;
import
java.io.*
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.sql.SQLOutput
;
import
java.sql.SQLOutput
;
/**
/**
...
@@ -63,6 +62,8 @@ public class HttpUtil {
...
@@ -63,6 +62,8 @@ public class HttpUtil {
ins
=
response
.
getEntity
().
getContent
();
ins
=
response
.
getEntity
().
getContent
();
// 写入图片
// 写入图片
FileUtil
.
writeFromStream
(
ins
,
file
);
FileUtil
.
writeFromStream
(
ins
,
file
);
}
else
{
response
.
getEntity
();
}
}
}
finally
{
}
finally
{
// 释放资源
// 释放资源
...
@@ -76,4 +77,36 @@ public class HttpUtil {
...
@@ -76,4 +77,36 @@ public class HttpUtil {
}
}
public
static
void
writeFromStream
(
InputStream
is
,
File
file
)
{
BufferedInputStream
bis
=
null
;
BufferedOutputStream
bos
=
null
;
try
{
// 下载图片到本地存储
bis
=
new
BufferedInputStream
(
is
);
bos
=
new
BufferedOutputStream
(
new
FileOutputStream
(
file
));
byte
[]
buffer
=
new
byte
[
1024
];
int
len
=
-
1
;
//while ((len = bis.read(buffer)) != -1) {
while
((
len
=
bis
.
read
(
buffer
))
>
0
)
{
bos
.
write
(
buffer
,
0
,
len
);
bos
.
flush
();
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
finally
{
try
{
// 释放资源
if
(
bos
!=
null
){
bos
.
close
();
}
if
(
bis
!=
null
){
bis
.
close
();
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
}
}
}
src/main/resources/config/download-map.properties
浏览文件 @
d70f666b
...
@@ -18,17 +18,17 @@ map.baseurl=http://webrd04.is.autonavi.com/appmaptile?lang=zh_cn&size=1scale=1&s
...
@@ -18,17 +18,17 @@ map.baseurl=http://webrd04.is.autonavi.com/appmaptile?lang=zh_cn&size=1scale=1&s
map.type
=
CUSTOM
map.type
=
CUSTOM
# 下载地图的层级 7 - 18
# 下载地图的层级 7 - 18
map.minLv
=
1
7
map.minLv
=
1
4
map.maxLv
=
1
7
map.maxLv
=
1
4
# 线程数
# 线程数
map.threadNum
=
1
000
map.threadNum
=
2
000
# 是否下载前6级(不能与其余的同时进行)
# 是否下载前6级(不能与其余的同时进行)
map.Lv6.flag
=
false
map.Lv6.flag
=
false
# 是否继续下载
# 是否继续下载
map.download.append
=
tru
e
map.download.append
=
fals
e
# 这个注释用来备注下下载地图的经纬度
# 这个注释用来备注下下载地图的经纬度
#
left
:
113.587,34.694 right: 113.801,34.799
#
left
:
113.587,34.694 right: 113.801,34.799
\ No newline at end of file
src/main/resources/config/httpclient.properties
浏览文件 @
d70f666b
#最大连接数
#最大连接数
http.maxTotal
=
1
000
http.maxTotal
=
2
000
#并发数
#并发数
http.defaultMaxPerRoute
=
5
0
http.defaultMaxPerRoute
=
6
0
#创建连接的最长时间
#创建连接的最长时间
http.connectTimeout
=
60000
http.connectTimeout
=
60000
#从连接池中获取到连接的最长时间
#从连接池中获取到连接的最长时间
http.connectionRequestTimeout
=
60000
http.connectionRequestTimeout
=
60000
00
#数据传输的最长时间
#数据传输的最长时间
http.socketTimeout
=
6
0000
http.socketTimeout
=
12
0000
#提交请求前测试连接是否可用
#提交请求前测试连接是否可用
http.staleConnectionCheckEnabled
=
true
http.staleConnectionCheckEnabled
=
true
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论