java批量上传Word文件下载.docx
《java批量上传Word文件下载.docx》由会员分享,可在线阅读,更多相关《java批量上传Word文件下载.docx(38页珍藏版)》请在冰豆网上搜索。
+rows);
cols:
+cols);
if(rows==0)
continue;
if(rows>
ROW_OF_SHEET){
info.setFlag(false);
info.setInfo("
第"
+(s+1)+"
sheet中的行数:
+rows
+"
超过最大行数限制:
+ROW_OF_SHEET);
returninfo;
}
if(cols!
=COL_OF_SHEET&
&
cols!
=COL_OF_SHEET_2){
sheet中的列数:
+cols
不符!
目前列数是:
+COL_OF_SHEET+"
或:
+ROW_OF_SHEET);
if(cols==COL_OF_SHEET){
for(inti=0;
i<
rows;
i++){
CardBeanbean=newCardBean();
bean.setCard_id(rs.getCell(0,i).getContents().trim());
bean.setCustType(rs.getCell(1,i).getContents().trim());
bean.setValid_date(rs.getCell(2,i).getContents().trim());
bean.setBank_fee(rs.getCell(3,i).getContents().trim());
bean.setSubway_fee(rs.getCell(4,i).getContents().trim());
bean.setStatus("
0"
);
bean.setCardAppStatus("
temp.add(bean);
}
}elseif(cols==COL_OF_SHEET_2){
for(inti=0;
bean.setCustType(rs.getCell(1,i).getContents().trim());
bean.setAppNo(rs.getCell(5,i).getContents().trim());
bean.setStatus(rs.getCell(6,i).getContents().trim());
bean.setCardAppStatus(rs.getCell(7,i).getContents().trim());
bean.setCardBrand(rs.getCell(8,i).getContents().trim());
bean.setVersionId(rs.getCell(9,i).getContents().trim());
bean.setIccid(rs.getCell(10,i).getContents().trim());
}
}catch(Exceptione){
FileLog.errorLog(e);
info.setFlag(false);
info.setInfo("
导入卡信息文件失败!
returninfo;
}
info.setFlag(true);
info.setInfo("
导入卡信息文件成功!
returninfo;
java一款支持批量上传的代码示例
2013-03-2109:
41:
25
我来说两句
作者:
上天入地
收藏
我要投稿
效果图如下:
该工程包含五个源文件:
BackGroundService.java、BeanControler.java、EventListenerImpl.java、FileUploadListener.java和FileUploadStatus.java;
以及2个jsp页面。
源码已提供免费下载,下载后直接部署到tomcat中运行即可。
BackGroundService.java:
[java]
packageliuzuochen.sample.upload;
/**
*<
p>
Title:
后台服务<
/p>
*
Description:
为客户端提供上传及文件传输状态查询服务<
*/
importjava.io.File;
importjava.io.IOException;
importjava.util.List;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importmons.fileupload.FileItem;
importmons.fileupload.FileUploadException;
importmons.fileupload.disk.DiskFileItemFactory;
importmons.fileupload.servlet.*;
publicclassBackGroundServiceextendsjavax.servlet.http.HttpServletimplements
javax.servlet.Servlet{
publicstaticfinalStringUPLOAD_DIR="
/upload"
;
publicstaticfinalStringDEFAULT_UPLOAD_FAILURE_URL="
index2.jsp"
publicBackGroundService(){
super();
}
protectedvoiddoGet(HttpServletRequestrequest,
HttpServletResponseresponse)throwsServletException,
IOException{
doPost(request,response);
/**
*从文件路径中取出文件名
privateStringtakeOutFileName(StringfilePath){
intpos=filePath.lastIndexOf(File.separator);
if(pos>
0){
returnfilePath.substring(pos+1);
}else{
returnfilePath;
*从request中取出FileUploadStatusBean
publicstaticFileUploadStatusgetStatusBean(
HttpServletRequestrequest){
BeanControlerbeanCtrl=BeanControler.getInstance();
returnbeanCtrl.getUploadStatus(request.getRemoteAddr());
*把FileUploadStatusBean保存到类控制器BeanControler
publicstaticvoidsaveStatusBean(
HttpServletRequestrequest,
FileUploadStatusstatusBean){
statusBean.setUploadAddr(request.getRemoteAddr());
beanCtrl.setUploadStatus(statusBean);
*删除已经上传的文件
privatevoiddeleteUploadedFile(HttpServletRequestrequest){
FileUploadStatussatusBean=getStatusBean(request);
for(inti=0;
satusBean.getUploadFileUrlList().size();
i++){
FileuploadedFile=newFile(request.getRealPath(UPLOAD_DIR)+
File.separator+
satusBean.getUploadFileUrlList().
get(i));
uploadedFile.delete();
satusBean.getUploadFileUrlList().clear();
satusBean.setStatus("
删除已上传的文件"
saveStatusBean(request,satusBean);
*上传过程中出错处理
privatevoiduploadExceptionHandle(
StringerrMsg)throwsServletException,IOException{
//首先删除已经上传的文件
deleteUploadedFile(request);
satusBean.setStatus(errMsg);
*初始化文件上传状态Bean
privateFileUploadStatusinitStatusBean(HttpServletRequest
request){
FileUploadStatussatusBean=newFileUploadStatus();
正在准备处理"
satusBean.setUploadTotalSize(request.getContentLength());
satusBean.setProcessStartTime(System.currentTimeMillis());
satusBean.setBaseDir(request.getContextPath()+UPLOAD_DIR);
returnsatusBean;
*处理文件上传
privatevoidprocessFileUpload(HttpServletRequestrequest,
HttpServletResponseresponse)throws
ServletException,IOException{
DiskFileItemFactoryfactory=newDiskFileItemFactory();
//设置内存缓冲区,超过后写入临时文件
factory.setSizeThreshold(10240000);
//设置临时文件存储位置
factory.setRepository(newFile(request.getRealPath("
/upload/temp"
)));
ServletFileUploadupload=newServletFileUpload(factory);
//设置单个文件的最大上传值
upload.setFileSizeMax(5*102400000);
//设置整个request的最大值
upload.setSizeMax(10*102400000);
upload.setProgressListener(newFileUploadListener(request));
//保存初始化后的FileUploadStatusBean
saveStatusBean(request,initStatusBean(request));
FileUploadStatussatusBean=
getStatusBean(request);
StringforwardURL="
intflag=1;
try{
Listitems=upload.parseRequest(request);
//获得返回url
items.size();
FileItemitem=(FileItem)items.get(i);
if(item.isFormField()){
forwardURL=item.getString();
break;
//处理文件上传
//取消上传
if(getStatusBean(request).getCancel()){
//保存文件
elseif(!
item.isFormField()&
item.getName().length()>
StringfileName=takeOutFileName(item.getName());
File.separator+fileName);
item.write(uploadedFile);
flag++;
//更新上传文件列表
satusBean.getUploadFileUrlList().add(fileName);
//Thread.sleep(500);
}catch(FileUploadExceptione){
uploadExceptionHandle(request,"
上传文件时发生错误:
+e.getMessage());
}catch(Exceptione){
保存上传文件时发生错误:
if(forwardURL.length()==0){
forwardURL=DEFAULT_UPLOAD_FAILURE_URL;
request.setAttribute("
msg"
"
<
fontsize=2>
b>
文件上传成功!
/b>
/font>
request.getRequestDispatcher("
).forward(request,response);
*回应上传状态查询
privatevoidresponseStatusQuery(HttpServletRequestrequest,