fileupload上传代码与txt文件取值实例.doc_第1页
fileupload上传代码与txt文件取值实例.doc_第2页
fileupload上传代码与txt文件取值实例.doc_第3页
fileupload上传代码与txt文件取值实例.doc_第4页
fileupload上传代码与txt文件取值实例.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Fileupload 上传一般的上传下载相信大家都会得。最近做了一个txt文件的读取,原本简单的事情,结果想了一个下午,只因逻辑思维错误。下面就跟大家说一下这个功能的实现以及利用fileupload上传文件的快速开发。功能:按一定的规则读取一个txt文件里面的内容。首先我们先到网上下载两个包:commons-fileupload-1.2.2.jar commons-io-2.1.jar有了这两个包之后我们就可以利用fileupload控件来上传文件到服务器了。下面代码是上传代码【UploadUtil类】(通用代码,大家可以直接拷贝过去用)import java.io.File;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.Iterator;import java.util.List;import javax.servlet.http.HttpServletRequest;import mons.fileupload.FileItem;import mons.fileupload.disk.DiskFileItemFactory;import mons.fileupload.servlet.ServletFileUpload;public class UploadUtilpublic static final long serialVersionUID =0L;SuppressWarnings(unchecked)public static List upload(HttpServletRequest request,String targetFolder)List files = new ArrayList();File targetFile = new File(request.getSession().getServletContext().getRealPath(targetFolder);/获取向项目路径File temFile = new File(request.getSession().getServletContext().getRealPath(/temp);/获取项目路劲临时目录if(!targetFile.exists()targetFile.mkdirs();if(!temFile.exists()temFile.mkdirs();try if(ServletFileUpload.isMultipartContent(request)DiskFileItemFactory factory = new DiskFileItemFactory();factory.setSizeThreshold(3000000);factory.setRepository(temFile);ServletFileUpload upload = new ServletFileUpload(factory);upload.setHeaderEncoding(UTF-8);upload.setSizeMax(3000000);/ Parse the requestList items = upload.parseRequest(request);Iterator iter = items.iterator();while (iter.hasNext() FileItem item = (FileItem) iter.next(); String fileName = item.getName(); if(!item.isFormField() if(fileName!=null&!fileName.isEmpty() int dot = fileName.lastIndexOf(.); fileName = fileName.substring(dot); fileName = item.getFieldName()+_+rename()+fileName; File uploadedFile = new File(targetFile,fileName); item.write(uploadedFile); files.add(uploadedFile.getAbsolutePath(); return files;catch(Exception e)if(files!=null&!files.isEmpty()for(String fileName:files) File file = new File(fileName); if(file.exists() file.delete(); e.printStackTrace(); return null;/* * 获取时间 命名文档 * return */private static String rename() String name=; SimpleDateFormat sdf = new SimpleDateFormat(yyyyMMddHHmmss); Date date = new Date(); name=sdf.format(date); name = name+Math.random()*10; return name; 有了这个类之后我们是否就可以直接能上传文件了呢?还不行,我们还要设置一下jsp页面。下面是jsp页面的代码。可供大家测试参考用(其中form中 enctype=multipart/form-data 必须要加上)。      OK,现在我们把jsp 也弄好了,我们看看我们要提交的的表单到那个类里面吧在这里我用的servlet,from 表单直接提交给一个UploadDevice servlet类,上面我们已经写好了上传的类了,那么我们在UploadDevice 就可以直接调用UploadUtil了。下面就是UploadDecice 类代码:public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException List files = UploadUtil.upload(request, /bridge);/ 调用UploadUtile类方法上传文档/* * 读取文档 */ String read; FileReader fileread; System.out.println(files.get(0); File filename = new File(files.get(0);/读取txt文件 try List bridgeList = new ArrayList(); fileread = new FileReader(filename); bufread = new BufferedReader(fileread); try while (read = bufread.readLine() != null) String as = read.toString(); String aa = as.split();/按tab来进行分析 bridgeList.add(aa); if(null != bridgeList) String message = deviceManagerDao.addDeviceList(bridgeList); System.out.println(message); request.setAttribute(message, message); catch (IOException e) e.printStackTrace(); catch (FileNotFoundException e) e.printStackTrace(); finally if(filename.isFile() & file

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论