已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
现就JAVA中文件上传与下载的实现方法总结如下:一、上传方法1http方式:2)架包mons.fileupload.servlet.ServletFileUpload3)架包com.jspsmart.upload.SmartUpload4)架包jspupload5)传统fileinputstream,fileoutputstream方式6)struts框架支持2FTP方式:1)sun的架包2)架包.ftp.FTPClient 比较好用3)架包.ftp.FTPClient二、下载方法1http方式1)servlet+传统fileinputstream,fileoutputstream2)架包.ftp.FTPClient2FTP方式:1)servlet+架包.ftp.FTPClient 比较好用下面就架包.ftp.FTPClient实现文件上传与下载。代码如下:上传:JSP: 文件上传 文件位置: SERVLET:package com.test;import java.io.FileOutputStream;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class UploadServletA extends HttpServlet private static final long serialVersionUID = 1L;public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException tryrequest.setCharacterEncoding(utf-8);response.setCharacterEncoding(UTF-8); response.setContentType(text/html; charset=UTF-8); String myFile = request.getParameter(mfile); /获取页面提交的文件int indexOf = myFile.lastIndexOf(); /获取最后一个“/”所在的索引位String fileName = myFile.substring(indexOf); /获取文件上传的文件名/创建输出流把指定的文件写入WEB工程的upload目录下(需要在WebRoot目录下创建upload目录)。FileOutputStream fos = new FileOutputStream(d:upload + fileName);/创建输入流读取指定文件java.io.FileInputStream fis = new java.io.FileInputStream(new java.io.File(myFile);byte buffer = new byte256;int len = 0;while (len = fis.read(buffer) 0) /循环读取文件到输出流fos.write(buffer, 0, len); /使用输出流输出文件。fos.flush();fis.close();fos.close(); PrintWriter pw=response.getWriter(); pw.println(); pw.println(); pw.println(); pw.println(); pw.println(alert(上传成功!); pw.println(); pw.println(); pw.println(); pw.println();catch(Exception e)e.printStackTrace();PrintWriter pw=response.getWriter(); pw.println(); pw.println(); pw.println(); pw.println(); pw.println(alert(上传失败!); pw.println(); pw.println(); pw.println(); pw.println();public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException doPost(request, response);下载JSP: base href= 文件下载 !- 请点击文件名下载! 中文.txt SERVLET:package com.test;import java.io.File;import java.io.IOException;import .URLEncoder;import javax.servlet.ServletException;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import .ftp.FTPClient;import .ftp.FTPClientConfig;import .ftp.FTPFile;import .ftp.FTPReply;/* * * author kfzx-zhouy05 */public class FtpDownloadServlet extends HttpServlet private static final long serialVersionUID = 1L;public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException doPost(request, response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException request.setCharacterEncoding(utf-8);response.setCharacterEncoding(UTF-8); response.setContentType(text/html; charset=UTF-8);String path = upload;File f2 = new File(upload中文.txt);String filename2 = f2.getName();ServletOutputStream outputStream = response.getOutputStream();downFile(6, 21, zhouyun0243, zhouyun0243, path,filename2, outputStream, response);public void init() throws ServletException public static void downFile(String ip, int port, String username,String password, String remotePath, String fileName,ServletOutputStream outputStream, HttpServletResponse response) FTPClient ftp = new FTPClient();int count = 0;try int reply;ftp.connect(ip, port);/ 下面三行代码必须要,而且不能改变编码格式 ftp.setControlEncoding(UTF-8);FTPClientConfig conf = new FTPClientConfig(FTPClientConfig.SYST_NT);conf.setServerLanguageCode(zh);/ 如果采用默认端口,可以使用ftp.connect(url) 的方式直接连接FTP服务器 ftp.login(username, password);/ 登录 ftp.setFileType(FTPClient.BINARY_FILE_TYPE);reply = ftp.getReplyCode();if (FTPReply.isPositiveCompletion(reply) System.out.println(连接服务器失败);outputStream.println();outputStream.println();outputStream.println(alert(Connect server fail!);outputStream.println(document.location.href=http:/localhost:8080/struts2HibernateSpring/download.jsp);outputStream.println();outputStream.println();outputStream.close();ftp.disconnect();return;System.out.println(登陆成功。);ftp.changeWorkingDirectory(remotePath);/ 转移到FTP服务器目录 FTPFile fs = ftp.listFiles(); / 得到目录的相应文件列表 for (int i = 0; i fs.length; i+) FTPFile ff = fsi;if (ff.getName().equals(fileName) count+;String filename = fileName;/ 这个就就是弹出下载对话框的关键代码 response.setHeader(Content-disposition,attachment;filename=+ URLEncoder.encode(filename, UTF-8);/ 将文件保存到输出流outputStream中 ftp.retrieveFile(new String(ff.getName().getBytes(UTF-8),ISO-8859-1), outputStream);outputStream.flush();if (count = 1) /下载成功outputStream.close();ftp.logout();ftp.disconnect(); else /文件找不到outputStream.println();outputStream.println();outputStream.println(alert(File is not exist!);outputStream.println(document.location.href=http:/localhost:8080/struts2HibernateSpring/download.jsp);outputStream.println();outputStream.println();outputStream.close();ftp.logout();ftp.disconnect(); catch (Exception e) e.printStackTrace();try outputStream.println();outputStream.println();outp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- ICU休克患者营养支持护理效果评价
- 2026年安徽省皖能聚合智慧能源有限公司所属子公司会计岗位社会公开招聘考试备考试题及答案解析
- 2026年南平武夷山市医疗卫生单位第九届“人才·南平校园行”紧缺急需人才招聘8人考试备考题库及答案解析
- 2026广西南宁市兴宁区第一初级中学招聘笔试备考试题及答案解析
- 2026国网辽宁省电力有限公司招聘140人(第二批)笔试参考题库及答案解析
- 2026年双鸭山饶河县公益性岗位招聘34人笔试参考题库及答案解析
- 2026年江西水利职业学院单招职业适应性测试题库有答案解析
- 2026陕西君保融数字产业有限公司招聘(47人)笔试备考题库及答案解析
- 2026新疆图木舒克市商砼站招聘1人考试参考题库及答案解析
- 2026湖南怀化沅陵县招聘青年就业见习生21人笔试备考试题及答案解析
- 糖尿病科护理组长岗位竞聘
- 四年级数学(下)全册先学后教,当堂训练教案
- 《油气储运安全技术》课件第八章 油库安全技术与管理 - 简版
- 2023年北京市专升本考试生理学护理学专业测试题含解析
- 新苏教版五年级下册科学全册习题一课一练(含答案)
- 环境专业英语-8-PART-2-3
- 《动画场景设计》课程标准
- 妇产科学课件:第一章 绪论
- 矿井通风系统调整方案实用文档
- 列尾作业员必知必会
- GB/T 7025.3-1997电梯主参数及轿厢、井道、机房的型式与尺寸第3部分:V类电梯
评论
0/150
提交评论