- 浏览: 540079 次
- 性别:
- 来自: 南京
-
文章分类
- 全部博客 (168)
- java基础 (22)
- 面向对象编程 (2)
- 集合 (4)
- I/O操作 (5)
- 多线程 (9)
- java高级特性 (8)
- 网络编程 (0)
- sql基础 (23)
- JDBC (1)
- 数据结构与算法 (20)
- 软件测试 (1)
- 程序员小知识 (2)
- WEB开发 (15)
- 其他 (11)
- Struts (3)
- Hibernate (8)
- Spring (4)
- 设计模式 (5)
- java基础快速总结 (1)
- 正则表达式 (3)
- UML (3)
- XML操作 (0)
- 编译原理 (1)
- tomcat (2)
- EJB (0)
- javascript (4)
- 个人系统设计 (1)
- Extjs (3)
- 面试题总结 (4)
- 技术大综合 (2)
- 最经需要搞好多的开源软件,集中下 (0)
- java重写hashcode的分析(转) (1)
最新评论
-
jerry.zhao:
ybzshizds 写道这种用工厂模式解决的办法其实还是有一个 ...
InitialContext和lookup -
小土豆内特:
static class Queue
java实现队列 -
leizisdu:
感谢楼主讲解、分享!
工厂模式 -
kchiu:
写了没什么用
EXT组件xtype简介 -
u010271301:
大哥 能描述的跟详细点么?
浅谈write(byte[] b)和write(byte[] b,int off,int len)的区别
import java.io.*;
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.net.*;
/**
* 实现下载功能
*/
public class DownLoad {
public void downLoad(HttpServletResponse response,
String headName, String fileUrl) throws Exception{
Logger.log("begin download " + headName);
if (headName.endsWith(".jpg") || (headName.endsWith(".gif"))) {
//no need setting content type and header
} else if (headName.endsWith(".txt")) {
response.setContentType( "text;charset=GB2312");
response.setHeader("Content-disposition",
"attachment; filename=" + headName );
} else {
response.setContentType( "application/doc;charset=GB2312");
response.setHeader("Content-disposition",
"attachment; filename=" + headName );
}
String fileURL = fileUrl;
Logger.log(fileURL);
if(fileURL == null)
return;
try{
File file = new File(fileUrl);
FileInputStream bis = new FileInputStream(file);
OutputStream bos = response.getOutputStream();
byte[] buff = new byte[1024];
int readCount = 0;
int i = 0;
readCount = bis.read(buff);
while (readCount != -1){
bos.write(buff, 0, readCount);
readCount = bis.read(buff);
}
Logger.log("read finished!");
if (bis!=null)
bis.close();
if (bos!=null)
bos.close();
}catch(Exception e){
e.printStackTrace();
throw e;
}
}
}
或者有下载
<%@ page contentType="text/html;charset=gbk"%>
<%
String key=request.getParameter("key");
String fname=request.getParameter("fname");
response.setContentType("application/OCTET-STREAM;charset=GB2312");
response.setHeader("Content-Disposition", "attachment;filename="+Download.encodingFileName(fname));
UserData userdata = (UserData) session.getAttribute(Const.SID_USERDATA);
if(userdata!=null){
HashMap fmap=userdata.getFmap();
InputStream is=(InputStream)fmap.get(key);
//输出到指定的文件
//File path=new File("d:/temp/");
//if(!path.exists()){
// path.mkdir();
//}
//File file=new File("d:/temp/"+fname);
//if(!file.exists()){
// file.createNewFile();
//}
//FileOutputStream fi=null;
//BufferedOutputStream bos=null;
OutputStream bos=null;
BufferedInputStream bis=null;
try{
//fi=new FileOutputStream(file);
bis=new BufferedInputStream(is);
//bos=new BufferedOutputStream(fi);
bos=response.getOutputStream();
int c;
while ((c = bis.read()) != -1) {
bos.write(c);
bos.flush();
}
}catch(Exception ee){
ee.printStackTrace();
}finally{
bos.close();
bos=null;
bis.close();
bis=null;
//fi.close();
//fi=null;
}
//out.println("<script>alert('文件已经下载保存到D:/temp下,请查看');history.go(-1);</script>");
//return;
}
%>
import java.text.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.net.*;
/**
* 实现下载功能
*/
public class DownLoad {
public void downLoad(HttpServletResponse response,
String headName, String fileUrl) throws Exception{
Logger.log("begin download " + headName);
if (headName.endsWith(".jpg") || (headName.endsWith(".gif"))) {
//no need setting content type and header
} else if (headName.endsWith(".txt")) {
response.setContentType( "text;charset=GB2312");
response.setHeader("Content-disposition",
"attachment; filename=" + headName );
} else {
response.setContentType( "application/doc;charset=GB2312");
response.setHeader("Content-disposition",
"attachment; filename=" + headName );
}
String fileURL = fileUrl;
Logger.log(fileURL);
if(fileURL == null)
return;
try{
File file = new File(fileUrl);
FileInputStream bis = new FileInputStream(file);
OutputStream bos = response.getOutputStream();
byte[] buff = new byte[1024];
int readCount = 0;
int i = 0;
readCount = bis.read(buff);
while (readCount != -1){
bos.write(buff, 0, readCount);
readCount = bis.read(buff);
}
Logger.log("read finished!");
if (bis!=null)
bis.close();
if (bos!=null)
bos.close();
}catch(Exception e){
e.printStackTrace();
throw e;
}
}
}
或者有下载
<%@ page contentType="text/html;charset=gbk"%>
<%
String key=request.getParameter("key");
String fname=request.getParameter("fname");
response.setContentType("application/OCTET-STREAM;charset=GB2312");
response.setHeader("Content-Disposition", "attachment;filename="+Download.encodingFileName(fname));
UserData userdata = (UserData) session.getAttribute(Const.SID_USERDATA);
if(userdata!=null){
HashMap fmap=userdata.getFmap();
InputStream is=(InputStream)fmap.get(key);
//输出到指定的文件
//File path=new File("d:/temp/");
//if(!path.exists()){
// path.mkdir();
//}
//File file=new File("d:/temp/"+fname);
//if(!file.exists()){
// file.createNewFile();
//}
//FileOutputStream fi=null;
//BufferedOutputStream bos=null;
OutputStream bos=null;
BufferedInputStream bis=null;
try{
//fi=new FileOutputStream(file);
bis=new BufferedInputStream(is);
//bos=new BufferedOutputStream(fi);
bos=response.getOutputStream();
int c;
while ((c = bis.read()) != -1) {
bos.write(c);
bos.flush();
}
}catch(Exception ee){
ee.printStackTrace();
}finally{
bos.close();
bos=null;
bis.close();
bis=null;
//fi.close();
//fi=null;
}
//out.println("<script>alert('文件已经下载保存到D:/temp下,请查看');history.go(-1);</script>");
//return;
}
%>
发表评论
-
thingking in java的所见所闻
2010-09-07 19:54 1175今天终于翻开thinking in java一书,发掘里面的奥 ... -
java基础注意的误区
2010-08-12 13:46 11471.replace String a="| ... -
基础题集
2010-06-20 10:48 1085import java.util.ArrayList; ... -
浅复制和深复制的代码实现
2010-06-02 13:20 1261演示一:浅复制 public class Student ... -
java克隆入门和深入
2010-06-01 08:49 2052我觉的这篇文章讲的很透彻很明了就照抄过来啦。希望与大家分享 ... -
java求保留2位有效小数
2010-05-28 11:35 3449/** * 求出保留2位有效小数 */ public ... -
native的作用
2010-05-27 09:01 1234native的作用 使用native关键字说明这个方法是原生 ... -
classloader原理
2010-05-12 22:21 1891What is ClassLoader? 与普通程 ... -
JVM认识
2010-05-12 22:08 1185首先看一个下java运行过程: Java Virtual ... -
jvm垃圾回收机制
2010-05-12 21:55 1722内存是稀缺的资源,哪 ... -
解析JAVA中的内存分配
2010-04-29 08:38 1661照编译原理的观点,程序运行时的内存分配有三种策略,分别是静态的 ... -
对象相等性
2010-04-28 21:39 1222String s="hello"; S ... -
Math类和Random的操作
2010-04-27 22:12 1469package javabse; import java.u ... -
日期实体类操作
2010-04-27 21:44 1463package javabse; import java.t ... -
字符串实体类的操作
2010-04-27 21:11 1251package javabse; import java.u ... -
java常用实体类
2010-04-25 22:39 15751.加载文件 System.load(name); Runti ... -
获取环境变量列表
2010-04-25 22:20 1410package javabse; import java.u ... -
取得系统属性列表
2010-04-25 22:08 1401package javabse; import java.u ... -
java浅克隆和深克隆的定义
2010-04-21 17:10 3780深克隆与浅克隆 大家 ... -
java经典问题:传值还是传引用(转过来的)
2010-04-21 17:03 1277经典的问题,但却不容易弄懂,尤其对有c基础的java程序员来说 ...
相关推荐
"java利用oss实现下载功能" Java是当前最流行的编程语言之一,而 OSS(Object Storage Service)是阿里云提供的一种对象存储服务,通过使用Java和OSS可以实现下载功能。本文将详细介绍如何使用Java和OSS实现下载...
asp+sql server实现的下载文件夹中的各中文档,跟换自己的表名即可用--
### Java 实现模板下载功能详解 #### 一、概述 在Web应用开发中,模板下载功能是常见需求之一,尤其在报表系统、数据导出等场景下应用广泛。本篇文章将详细阐述如何利用Java技术栈实现一个简单的模板下载功能。 #...
本示例将重点讲解如何利用`GridView`实现文件的上传和下载功能,这对于构建具有文件管理功能的Web应用非常有用。 首先,我们需要理解`GridView`的基本用法。`GridView`是ASP.NET Web Forms中的一个服务器控件,它...
本文将深入探讨如何使用C语言来实现一个基于HTTP协议的文件下载功能,以及它在资源占用和效率上的优势。 HTTP协议是应用层的一个标准协议,主要用于Web浏览器和服务器之间的数据交换。在文件下载场景中,客户端...
要实现文件下载,我们需要设置`CURLOPT_URL`选项来指定要下载的文件URL。例如: ```c curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/path/to/file"); ``` 接着,为了显示下载进度,我们可以利用`...
基于Python+Django简单实现文件上传下载功能源码 基于Python+Django简单实现文件上传下载功能源码 基于Python+Django简单实现文件上传下载功能源码 基于Python+Django简单实现文件上传下载功能源码 基于...
FTP文件传送系统的设计与实现 主要功能模块及作用 1、返回上一级目录: 通过函数RemoteForwarddir(self, event)实现返回上一级目录,通过PoppulateRemote(self)刷新...通过函数downloadfile(self)实现下载功能。
"down.jsp?filename="+filename,跳转至down页面,并把文件名传递过来。
标题中的“pb实现http文件下载功能--源代码 可以直接使用”指的是使用PowerBuilder(简称PB)编程语言实现HTTP协议进行文件下载的功能,并且提供了可以直接使用的源代码。这个功能在软件开发中常用于实现自动更新...
axure自建文件.rplib
ftp客户端实现上传下载功能 上传 下载 进入子目录 使用FtpClient 图形化界面 swing
JS实现的到处报表功能,是用JS实现的导出报表功能,下载后可以直接运行,用文本文档打开就可以查看源代码
基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于...
在JavaScript中实现“另存为”功能并不直接,因为出于安全考虑,浏览器并不提供直接调用“另存为”对话框的API。但是,我们可以通过一些技巧来模拟这一行为。以下是一些关键知识点: 1. **创建Blob对象**:首先,...
在C#编程环境中,实现录屏功能是一项常见的需求,尤其在开发桌面应用或者进行远程协助软件时。本项目通过利用Interop.WMEncoderLib.dll库,实现了C#中的录屏功能。WMEncoderLib.dll是Windows Media Encoder的COM接口...
基础能力强的可以在此基础上修改调整,以实现类似其他功能。 基于C++实现的登录系统项目源码+代码注释(实现日志功能和账号管理功能).zip 基于C++实现的登录系统项目源码+代码注释(实现日志功能和账号管理功能).zip ...
用C#语言来实现FTP上传、下载功能。还支持同步异步来操作。简单实用
在Android开发中,实现带有进度显示的文件下载功能是一项常用且重要的任务,特别是在构建应用时需要处理大量的数据传输。OkHttp作为高效的网络请求库,被广泛应用于Android领域。本教程将详细讲解如何利用OkHttp实现...
本篇文章将深入探讨如何使用JavaScript实现HTML中的PDF文件在线预览、下载以及打印功能。我们将首先介绍相关的JavaScript库,然后通过一个简单的示例演示如何实现这些功能。 一、JavaScript PDF处理库 1. **PDF.js...