• 大小: 45KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-07
  • 语言: Java
  • 标签: 数据导入  进度条  

资源简介

导入数据的时候页面进度往往不够友好,实现页面刷新ajax进度条,目前项目在用

资源截图

代码片段和文件信息

package com.manage.action;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import java.util.zip.GZIPInputStream;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import org.apache.struts.upload.FormFile;

import com.boss.dao.BusinessDAO;
import com.boss.dao.impl.BusinessDAOImpl;
import com.manage.common.Constants;
import com.manage.common.FunctionUtils;
import com.manage.common.ZipUtil;
import com.manage.form.ValuefileForm;

public class DigimpAction extends DispatchAction
{
private static int count=0;//全局标记是否为第一次调用
public ActionForward importData(ActionMapping mapping ActionForm form
HttpServletRequest request HttpServletResponse response) throws Exception
{
count=1;
ValuefileForm valuefileForm = (ValuefileForm) form;
FormFile valuefile=valuefileForm.getValuefile();
//String sDir = Constants.FilePath;  //定义错误文件存放目录。
int savenum=0;
int errnum=0;
int filenum=0;
int updnum=0;
BusinessDAO dao=new BusinessDAOImpl();
Map map=setMap();

if(valuefile.getFileName().indexOf(“DigiFlow“)!=-1)
{
try
{
String path = FunctionUtils.convertStringToISO(valuefileForm.getFilepath());
//String fp=“C:/Tomcat5.5/file/“;
//path = fp + path.substring(0path.indexOf(“.gz“))+“.txt“;
path = Constants.FilePath + path.substring(0path.indexOf(“.gz“))+“.txt“;

//String filepath = ZipUtil.unZip(path Constants.FilePath);
//BufferedReader br=new BufferedReader(new InputStreamReader(valuefile.getInputStream()));
GZIPInputStream gzin=new GZIPInputStream(valuefile.getInputStream());
ZipUtil.unZip(gzin path);
log.info(“filepath=[“+path+“]“);
BufferedReader br=new BufferedReader(new FileReader(path));
BufferedReader br2=new BufferedReader(new FileReader(path));
String line=““;
Map fileFlagMap=new HashMap();//在所有记录都插入成功时插入文件标识
int totalSize = 0;// 总数据的条数已导入数据条数=filenum
     long startTime = System.currentTimeMillis();// 开始导入的时间
     //用文件流读取文件总行数
     while((line=br2.readLine())!=null)
{
     if(line==null || line.trim().length()==0)
continue;
     totalSize++;
}
     HttpSession session = request.getSession(false);
            if (session.getAttribute(“TOTALSIZE“)  != null) {
                session.removeAttribute(“TOTALSIZE“);
                session.setAttribute(“TOTALSIZE“ String.valueOf(totalSize-1));
            }else{
             session.setAt

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      14414  2010-04-17 16:56  数据导入与进度条实现(java)\DigimpAction.java

     文件       4761  2010-04-17 16:56  数据导入与进度条实现(java)\dimpImport.jsp

     文件      89088  2010-03-18 17:26  数据导入与进度条实现(java)\【digiflow数据导入与实时进度条】开发手册.doc

     目录          0  2011-03-21 14:14  数据导入与进度条实现(java)

----------- ---------  ---------- -----  ----

               108263                    4


评论

共有 条评论