团队作业4----第一次项目冲刺(Alpha版本)4.25
a.提供当天站立式会议照片

会议内容:
①:对有的接口编写遇到的困难,由于基础问题,建议百度,谷歌现成的接口
②:课程较多,时间不够,任务的调整以及进度的调整
b. 每个人的工作
每个人在尽量完成自己的工作前提下,可以相互帮助,补缺补漏,项目的完成需要共同努力。
| 队员 | 今日任务 | 明日任务 |
|---|---|---|
| 魏芳 | 解压zip接口编写 | 解压zip接口编写 |
| 李雯钰 | 注册信息错误处理 | 4.26博客撰写 |
| 朱毕川 | 上传接口的具体实现 | 统计代码的接口编写 |
| 华天生 | 文件上传服务器位置设定 | Java项目文件遍历 |
| 林乔桦 | 4.25博客撰写 | 解压rar接口编写 |
| 肖荣森 | 解压rar接口编写 | 解压rar接口编写 |
c.任务分解图
使用leangoo:

遇到的困难:
在编写解压rar缩包代码实现这一块我们遇到了一点困难,主要原因还是之前接触的不多用起来陌生,有点拖累了进度,不过我们会攻克的。
加油!加油!加油!
d.燃尽图

横坐标为时间4.23-4.29
纵坐标为剩余卡片数量,任务完成情况
黄线是平均完成进度,蓝线是实际完成进度
e.代码/文档签入记录
https://coding.net/u/hts-technology/p/CodeManagement/git/tree/master
f.适当的项目程序/模块的最新(运行)截图###
g.主要的代码###
/*
解压zip
String zipFile //zip压缩包位置
String destFolder //解压到的目的文件夹
/*
public void getZipFiles(String zipFile, String destFolder) {
BufferedOutputStream dest = null;
ZipInputStream zis = null;
try {
zis = new ZipInputStream( new FileInputStream(zipFile));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ZipEntry entry;
try {
while (( entry = zis.getNextEntry() ) != null) {
System.out.println( "Extracting: " + entry.getName() );
int count;
byte data[] = new byte[128];
if (entry.isDirectory()) {
new File( destFolder + "/" + entry.getName() ).mkdirs();
continue;
} else {
int di = entry.getName().lastIndexOf( '/' );
if (di != -1) {
new File( destFolder + "/" + entry.getName()
.substring( 0, di ) ).mkdirs();
}
}
FileOutputStream fos = new FileOutputStream( destFolder + "/"
+ entry.getName() );
dest = new BufferedOutputStream( fos );
while (( count = zis.read( data ) ) != -1)
dest.write( data, 0, count );
dest.flush();
dest.close();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
上传文件接口###
public static String upfile(HttpServletRequest request, HttpServletResponse response, String savePath)
throws ServletException, IOException {
String tempPath = "C:\\CodeManagementUploadFileTemp";
File tmpFile = new File(tempPath);
if (!tmpFile.exists()) {
// 创建临时目录
tmpFile.mkdir();
}
// 消息提示
String message = "";
try {
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(1024 * 100);
factory.setRepository(tmpFile);
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setProgressListener(new ProgressListener() {
public void update(long pBytesRead, long pContentLength, int arg2) {
System.out.println("文件大小为:" + pContentLength + ",当前已处理:" + pBytesRead);
}
});
upload.setHeaderEncoding("UTF-8");
if (!ServletFileUpload.isMultipartContent(request)) {
return "";
}
upload.setFileSizeMax(1024 * 1024);
upload.setSizeMax(1024 * 1024 * 10);
@SuppressWarnings("unchecked")
List<FileItem> list = upload.parseRequest(request);
for (FileItem item : list) {
if (item.isFormField()) {
String name = item.getFieldName();
String value = item.getString("UTF-8");
// value = new String(value.getBytes("iso8859-1"),"UTF-8");
System.out.println(name + "=" + value);
} else {
String filename = item.getName();
System.out.println(filename);
if (filename == null || filename.trim().equals("")) {
continue;
}
filename = filename.substring(filename.lastIndexOf("\\") + 1);
String fileExtName = filename.substring(filename.lastIndexOf(".") + 1);
System.out.println("上传的文件的扩展名是:" + fileExtName);
InputStream in = item.getInputStream();
String saveFilename = makeFileName(filename);
String realSavePath = makePath(saveFilename, savePath);
FileOutputStream out = new FileOutputStream(realSavePath + "\\" + saveFilename);
byte buffer[] = new byte[1024];
int len = 0;
while ((len = in.read(buffer)) > 0) {
out.write(buffer, 0, len);
}
in.close();
out.close();
message = "文件上传成功!";
}
}
} catch (FileUploadBase.FileSizeLimitExceededException e) {
e.printStackTrace();
System.out.println("单个文件超出最大值!!!");
return "";
} catch (FileUploadBase.SizeLimitExceededException e) {
e.printStackTrace();
System.out.println("上传文件的总的大小超出限制的最大值!!!");
return "";
} catch (Exception e) {
message = "文件上传失败!";
e.printStackTrace();
}
return message;
}
团队作业4----第一次项目冲刺(Alpha版本)4.25的更多相关文章
- 【集美大学1411_助教博客】团队作业4——第一次项目冲刺(Alpha版本) 成绩
写在前面的话 第一次alpha冲刺,大家完成得都很好,从博客中体现出来的是所有团队都完成了预期的目标. 一个团队从最初建立,到磨合,到做出一个能被接受的产品,真是一件不容易的事情.就好像TheNexu ...
- 【1414软工助教】团队作业4——第一次项目冲刺(Alpha版本) 得分榜
题目 团队作业4--第一次项目冲刺(Alpha版本) 作业提交情况情况 所有团队都在规定时间内完成了七次冲刺. 往期成绩 个人作业1:四则运算控制台 结对项目1:GUI 个人作业2:案例分析 结对项目 ...
- 团队作业4——第一次项目冲刺(Alpha版本)4.28
团队作业4--第一次项目冲刺(Alpha版本) Day seven: 会议照片 每日站立会议: 项目进展 今天是项目的Alpha敏捷冲刺的第七天,先大概整理下昨天已完成的任务以及今天计划完成的任务.今 ...
- 团队作业4——第一次项目冲刺(Alpha版本)第六天and第七天
团队作业4--第一次项目冲刺(Alpha版本)第六天and第七天 第一次项目冲刺(Alpha版本)第六天 一.Daily Scrum Meeting照片 二.燃尽图 1.解释说明横纵坐标代表的含义 ...
- 团队作业4——第一次项目冲刺(Alpha版本)4.22
团队作业4--第一次项目冲刺(Alpha版本) Day one: 会议照片 由于团队中的组员今天不在学校,所以我们的站立会议提前一天展开. 项目进展 由于今天是Alpha版本项目冲刺的第一天,所以没有 ...
- 团队作业4——第一次项目冲刺(Alpha版本) 4.23
团队作业4--第一次项目冲刺(Alpha版本) Day two: 会议照片 每日站立会议: 项目进展 今天是项目的Alpha敏捷冲刺的第二天,先大概整理下昨天已完成的任务以及今天计划完成的任务.今天主 ...
- 团队作业4——第一次项目冲刺(Alpha版本) 4.24
团队作业4--第一次项目冲刺(Alpha版本) Day four: 会议照片 每日站立会议: 项目进展 今天是项目的Alpha敏捷冲刺的第三天,先大概整理下昨天已完成的任务以及今天计划完成的任务.今天 ...
- 团队作业4——第一次项目冲刺(Alpha版本)4.25
团队作业4--第一次项目冲刺(Alpha版本) Day four: 会议照片 每日站立会议: 项目进展 今天是项目的Alpha敏捷冲刺的第四天,先大概整理下昨天已完成的任务以及今天计划完成的任务.今天 ...
- 团队作业4——第一次项目冲刺(Alpha版本)-第一篇
第一次项目冲刺——第一阶段 今天我们在宿舍开了个会,每个人都斗志昂扬的.撸起袖子加油干! 分工讨论 团队成员 任务 郭达 完成博客随笔和leangoo 刘德培 设计好数据库 石浩洋 搭建好LAM ...
- 团队作业4——第一次项目冲刺(Alpha版本)2017.4.28
2017.04.28 天气晴朗 东风3级. 时间:上午 9:35 ---10:10分 地点:陆大二楼 会议内容:实验室报修系统项目冲刺Alpha版的的最后一天,大家对现在项目的进程进行了讨论,阐述了各 ...
随机推荐
- VsCode 附加Chorme调试TS方法
命令行进入:[谷歌浏览器安装目录/]/chrome.exe --remote-debugging-port=9222 关闭所有窗口并结束Chorme进程(如果无法附加调试做此操作,可以正常调试请忽略. ...
- 【IP限制】验证是否限制了境外IP访问权限
为啥要限制境外IP访问咱们的网站或者服务呢?怕泄漏了"机密"(好像都是我们在山寨别人,哪儿TM有机密,那叫"鸡贼") 好像国外的网站也没有限制咱大陆客去访问,反 ...
- Vue过渡效果之CSS过渡
前面的话 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.本文将从CSS过渡transition.CSS动画animation及配合使用第三方CSS动画库(如animate. ...
- oracle启动 init.ora spfile pfile[转]
昨天晚上快下班的时候,公司数据库突然堵住了,一个buf表中累计了20多W的数据提取不出来,改了程序,效果不明显.因为之前有一次也重启过oracle,所以这次还是想把oracle重启一下,因为那些数据都 ...
- flume 1.7 的配置
Apache Flume是一个分布式的.可靠的.高效的日志数据收集组件:我们通常使用Flume将分散在集群中多个Servers的log文件,汇集到中央式的数据平台中,以解决"从离散的日志文件 ...
- CSS选择器 - 性能的探究及提升
[本博客为原创:http://www.cnblogs.com/HeavenBin/] 前言: 在工作中编写CSS样式表时随着选择器层数的增加总会看到选择器又丑又长的情况,利用工作之余研究从其命名再到 ...
- 用node写一个皖水公寓自动刷房源脚本
因为住的地方离公司太远,每天上下班都要坐很久的班车,所以最近想搬到公司旁边的皖水公寓住.去问了一下公寓的客服,客服说房源现在没有了,只能等到别人退房,才能在网站上申请到. 如果纯靠手动F5刷新浏览器, ...
- js的dom操作和函数
dom是稳当对象模型,文档指标签文档,对象指文档中每个元素,模型指抽象画的东西. js常用函数 日期时间函数(需要用变量调用):var b = new Date(); //获取当前时间b.getTim ...
- UI设计|PS软件操作应用——GIF动图
前 言 JRedu 在之前的分享中,跟大家主要讲解了PS软件工具的基本操作,对主要的图层.蒙版.通道和滤镜都有一些介绍,希望对大家有所帮助,在介绍这些工具时也提到过GIF,而在本次分享中就跟大家 ...
- tensorflow笔记(三)之 tensorboard的使用
tensorflow笔记(三)之 tensorboard的使用 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7429344.h ...