一、项目简介

功能描述:对网页的字符串进行匹配,使用流和文件进行下载图片,实现对多个URL的图片抓取

个人负责任务: 负责图片下载系统的逻辑实现

二、功能架构图

整个系统的功能架构图,可以使用团队博客的图,但要在自己负责的部分标为黄底。

JAVA实现图片打包下载 java怎么实现下载图片_开发语言

三、个人任务简述

1. 完成的任务与功能

序号

完成功能与任务

描述

1

匹配网页中的图片字符串

使用正则表达式,对网页中的图片字符串进行匹配

2

下载网页图片

使用读取网页,并用使用文件下载图片

3

面向对象设计

规划了图片下载系统所需要的类

4

MVC模式

负责将M,并协调M与C

5

多个URL启动多个线程同时进行抓取


是用了多线程,可以同时下载不同网站的图片

 2. Git提交记录截图:

JAVA实现图片打包下载 java怎么实现下载图片_java_02

JAVA实现图片打包下载 java怎么实现下载图片_JAVA实现图片打包下载_03

 

四、本人负责功能详解

1. *MVC模式与面向对象设计

 

JAVA实现图片打包下载 java怎么实现下载图片_git_04

2. *下载网页中的图片:

2.1使用到的技术:

流、文件操作

2.2难点:

在读取图片流,要对图片的存储大小进行判断,用输入流的available()方法是不正确的

2.3解决办法:

使用 ByteArrayOutputStream可以实现对流的重复读取

2.4关键代码截图:

JAVA实现图片打包下载 java怎么实现下载图片_字符串_05

JAVA实现图片打包下载 java怎么实现下载图片_java_06

 

3.1采用的技术:

多线程

3.2难点:

该在哪个代码块是用多线程以及该如何规划包名

3.3解决方法:

类比应用商店下载软件,参考了BourceThread

3.1关键代码截图:

JAVA实现图片打包下载 java怎么实现下载图片_git_07

JAVA实现图片打包下载 java怎么实现下载图片_开发语言_08

 

4. 匹配网页中的图片字符串

4.1采用的技术:

     正则表达式的构造、模式与匹配器

4.2难点:

     对图片中的图片字符串进行匹配

4.3解决方法:

     学习正则表达式,理解相关细节,懂得了Pattren与Matcher

4.4关键代码截图:

JAVA实现图片打包下载 java怎么实现下载图片_java_09

五、课程设计感想

          在本次的课程设计中,初次使用git,不是很了解,在学习之后,我懂得了在git上提交代码的原理,但是在之后又遇到本地仓库与远程仓库的代码不同步问题。

       通过本次的课程设计,我学习到了如何使用git管理代码,对正则表达式有了了解,对网页的有了一定的了解,深入理解MVC模式,但是还是觉得自己设计的系统还是存在bug,需要更新迭代。

六、展望

可写两部分内容:

1. 不足之处:没有显示图片的下载进度,多线程的使用存在漏洞

       改进:增加可以实时显示图片的下载进度

2. 进一步了解网络的相关内容,深入学习爬虫技术