团队作业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;
}