- 浏览: 890679 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (687)
- java (127)
- servlet (38)
- struts (16)
- spring (22)
- hibernate (40)
- javascript (58)
- jquery (18)
- tomcat (51)
- 设计模式 (6)
- EJB (13)
- jsp (3)
- oracle (29)
- RUP (2)
- ajax (3)
- java内存管理 (4)
- java线程 (12)
- socket (13)
- path (5)
- XML (10)
- swing (2)
- UML (1)
- JBPM (2)
- 开发笔记 (45)
- Note参考 (15)
- JAXB (4)
- Quartz (2)
- 乱码 (2)
- CSS (2)
- Exception (4)
- Tools (7)
- sqlserver (3)
- DWR (7)
- Struts2 (47)
- WebService (2)
- 问题解决收藏 (7)
- JBOSS (7)
- cache (10)
- easyUI (19)
- jQuery Plugin (11)
- FreeMarker (6)
- Eclipse (2)
- Compass (2)
- JPA (1)
- WebLogic (1)
- powerdesigner (1)
- mybatis (1)
最新评论
-
bugyun:
受教了,谢谢
java 正则表达式 过滤html标签 -
xiongxingxing_123:
学习了,感谢了
java 正则表达式 过滤html标签 -
wanmeinange:
那如果无状态的。对同一个任务并发控制怎么做?比如继承Quart ...
quartz中参数misfireThreshold的详解 -
fanjieshanghai:
...
XPath 元素及属性查找 -
tianhandigeng:
还是没明白
quartz中参数misfireThreshold的详解
转自:http://www.cnblogs.com/ungshow/archive/2009/01/12/1374491.html
Java文件下载的几种方式
public HttpServletResponse download(String path, HttpServletResponse response) {
try {
// path是指欲下载的文件的路径。
File file = new File(path);
// 取得文件名。
String filename = file.getName();
// 取得文件的后缀名。
String ext = filename.substring(filename.lastIndexOf(".") + 1).toUpperCase();
// 以流的形式下载文件。
InputStream fis = new BufferedInputStream(new FileInputStream(path));
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
// 清空response
response.reset();
// 设置response的Header
response.addHeader("Content-Disposition", "attachment;filename=" + new String(filename.getBytes()));
response.addHeader("Content-Length", "" + file.length());
OutputStream toClient = new BufferedOutputStream(response.getOutputStream());
response.setContentType("application/octet-stream");
toClient.write(buffer);
toClient.flush();
toClient.close();
} catch (IOException ex) {
ex.printStackTrace();
}
return response;
}
public void downloadLocal(HttpServletResponse response) throws FileNotFoundException {
// 下载本地文件
String fileName = "Operator.doc".toString(); // 文件的默认保存名
// 读到流中
InputStream inStream = new FileInputStream("c:/Operator.doc");// 文件的存放路径
// 设置输出的格式
response.reset();
response.setContentType("bin");
response.addHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
// 循环取出流中的数据
byte[] b = new byte[100];
int len;
try {
while ((len = inStream.read(b)) > 0)
response.getOutputStream().write(b, 0, len);
inStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public void downloadNet(HttpServletResponse response) throws MalformedURLException {
// 下载网络文件
int bytesum = 0;
int byteread = 0;
URL url = new URL("windine.blogdriver.com/logo.gif");
try {
URLConnection conn = url.openConnection();
InputStream inStream = conn.getInputStream();
FileOutputStream fs = new FileOutputStream("c:/abc.gif");
byte[] buffer = new byte[1204];
int length;
while ((byteread = inStream.read(buffer)) != -1) {
bytesum += byteread;
System.out.println(bytesum);
fs.write(buffer, 0, byteread);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
File f = new File(filePath);
if (!f.exists()) {
response.sendError(404, "File not found!");
return;
}
BufferedInputStream br = new BufferedInputStream(new FileInputStream(f));
byte[] buf = new byte[1024];
int len = 0;
response.reset(); // 非常重要
if (isOnLine) { // 在线打开方式
URL u = new URL("file:///" + filePath);
response.setContentType(u.openConnection().getContentType());
response.setHeader("Content-Disposition", "inline; filename=" + f.getName());
// 文件名应该编码成UTF-8
} else { // 纯下载方式
response.setContentType("application/x-msdownload");
response.setHeader("Content-Disposition", "attachment; filename=" + f.getName());
}
OutputStream out = response.getOutputStream();
while ((len = br.read(buf)) > 0)
out.write(buf, 0, len);
br.close();
out.close();
}
还有一种使用SmartUpload,见附件
- downDemo.rar (13.6 KB)
- 下载次数: 77
发表评论
文章已被作者锁定,不允许评论。
-
操作系统的目标和作用
2012-07-05 23:46 1326操作系统的目标 目前存在着多种类型的OS,不同类型的OS ... -
利用(ffmpeg)生成视频缩略图(java)
2012-07-01 01:11 0对于上传视频生成缩略图使用的是ffmpeg进行生成的。 自己在 ... -
对Java多线程技术中所有方法的详细解析
2012-06-06 11:32 784一、run()和start() 这两个 ... -
java乱码
2012-06-06 11:33 968自从接触Java和JSP以来, ... -
学习apache commons-io类库中的文件清除器
2011-07-06 23:26 1439学习apache commons-io 1.4类库中的File ... -
java 正则表达式 过滤html标签
2011-05-24 15:10 5352前段时间开发的时候要读取一篇文章的简介内容(也就是前200个字 ... -
转---Eclipse中web-inf和meta-inf文件夹的信息
2011-05-24 13:08 1131Eclipse中web-inf和meta-inf ... -
logback与Log4J的区别
2011-05-17 23:34 1432Logback和log4j是非常相似 ... -
性能优化
2011-04-14 16:10 1174(1)jdbc性能优化 jdbc程序的性能主要由两个因素决定 ... -
JAVA的Random类(转)
2011-04-12 00:21 908Random类中实现的随机算法是伪随机,也就是有规则的随机。在 ... -
非阻塞的Socket链接
2011-04-10 21:59 890import java.io.IOException; ... -
创建临时文件
2011-04-10 21:55 1091package net.java2000.io; ... -
面向对象设计的基本原则
2011-04-07 10:28 1143摘自:http://soft6.com/tech/6/6501 ... -
proxool
2011-04-02 15:01 855属性列表说明: fatal-sql- ... -
当前Java软件开发中几种认识误区
2011-04-01 10:12 876越来越多人开始使用Java ... -
Java中查看一个方法被调用的层次(Reflection、StackTrace)
2011-04-01 00:53 2032package test; public class Mai ... -
反序列化时恢复transient字段
2011-03-30 13:20 1212我们知道将字段设置为transient,可以避免该自动被序列化 ... -
用socket连接服务器直接发送接收邮件
2011-03-22 17:22 1301首页 新闻 论坛 问答 博客 招聘 更多 ▼ 专栏 &l ... -
利用JavaMail收/发Gmail邮件(SSL)
2011-03-22 17:21 2386Gmail目前已经启用了POP3和SMTP服务,具体情况请看 ... -
Java 反射与内省
2011-03-14 22:08 1073一、java反射机制 JAVA反 ...
相关推荐
在Java编程中,文件下载是常见的操作之一,无论是从本地文件系统还是网络上下载文件,都需要掌握一定的技巧和方法。本文将详细介绍几种常用的Java文件下载方式,包括本地文件下载、网络文件下载以及支持断点续传的...
Java文件下载的几种方式,是很方便的,找了半天找到了,共享一下
为了克服这一问题,开发人员通常会利用Ajax技术来实现异步文件下载,使得用户在下载文件的同时仍能保持页面的正常操作。本话题将详细探讨如何通过Ajax实现Java文件的下载,并介绍相关的核心概念和技术。 1. **Ajax*...
在Java开发中,文件和图片的上传下载是常见的功能需求,尤其在Web应用中更为重要。本篇文章将详细探讨三种不同的实现方式,分别是使用JSP+Servlet、SmartUpload库以及Apache的FileUpload组件。 首先,我们来看第一...
在Java编程中,文件下载是常见的需求,例如从服务器向客户端传输文件,或者在应用程序内部获取网络资源。本文将详细探讨Java实现...以上就是Java实现文件下载的几种常见方法,可以根据项目需求和环境选择合适的方式。
多线程下载是指同时启动多个下载线程,每个线程负责下载文件的一部分。这种方式可以充分利用多核CPU和网络资源,提高下载速度。在Java中,可以使用`ExecutorService`来管理这些线程。 **Java中的多线程下载实现**:...
包是Java中的命名空间,组织类和接口的一种方式。API文档中,每个包都有详细的描述,如`java.io`包用于处理输入/输出操作,`java.net`包处理网络通信,`java.awt`和`javax.swing`包提供图形用户界面支持。了解包...
SFTP是SSH的一部分,是一种传输文件到服务器的安全方式,但是传输效率比普通的FTP要低。 在JAVA中,我们可以使用JSch库来实现SFTP的功能。JSch(Java Secure Channel)是一个SSH2的纯Java实现。它允许你连接到一个...
每个`DownloadThread`实例会负责下载文件的一部分。 `DownLoadThread.java`可能包含以下核心代码: 1. 初始化:构造函数接收开始和结束的偏移量,以及输入流和输出文件路径。 2. `run()`方法:在这个方法中,线程...
### Java下载文件到指定路径(不打开窗口) #### 概述 本文档主要介绍如何使用Java编程语言实现从网络上下载文件并将其保存至本地指定路径的功能,且在执行过程中不会弹出任何用户界面窗口。这种方法非常适合后台...
本教程将详细讲解如何使用Itext库实现PDF文件的下载,包括通过系统路径下载和通过浏览器下载两种方式。 首先,我们需要了解Itext的基本用法。Itext提供了一系列的API,可以方便地创建PDF文档的各个元素,如文本、...
其中,“Content-Disposition”用于指定文件的下载方式,通常设置为“attachment”表示附件下载。 3. **文件流操作**:在Java中,文件读写主要依赖于流操作。本例中使用了`BufferedInputStream`和`...
本文将深入探讨Java文件下载的实现方式以及如何解决中文乱码问题。 首先,我们需要理解HTTP协议中的Content-Disposition头的作用,它用于告知浏览器如何处理响应体的内容,比如作为附件下载。在Java中,我们通常...
Java下载功能的实现有多种方式,一般来说可以分为三种:第一种是将要下载的内容写到本地目录,然后将目录返回给前端,利用a标签下载;第二种是本地不允许访问,挂载目录,使目录可以对外访问,同样的,把目录返给...
JSch允许你连接到远程服务器,执行命令,包括上传和下载文件。以下是一个简单的文件上传示例: ```java import com.jcraft.jsch.*; public class SshFileTransfer { public static void upload(String host, int ...
### Java使用流下载文件知识点详解 #### 一、概述 在Web应用开发中,经常需要实现文件下载功能,比如用户可以下载系统中的报告、图片、文档等资源。使用Java流来处理文件下载是一种非常常见的技术手段。本文将详细...
6. **PPT展示**:在项目报告或演示中,可以生成一个PPT来展示整个流程,包括Java批量下载文件的逻辑、MinIO的存储功能介绍以及使用`ZipOutputStream`进行文件压缩的步骤。 通过以上步骤,可以实现Java环境下从MinIO...
让我们设想这样一个情形--我们想写一个纯 Java 的从一个远程计算机上运行的 FTP 服务器上传下载文件的应用程序;我们还希望能够得到那些供下载的远程文件的基本文件信息,如文件名、数据或者文件大小等。尽管从头...
Java 实现文件下载的两种方式 Java 实现文件下载的两种方式是指通过 Java 语言实现文件下载的两种方法,主要分为本地文件下载和网络文件下载两种方式。下面将对这两种方式进行详细的介绍。 本地文件下载 本地文件...