Servlet文件下载
来源:互联网 发布:爱思唯尔数据库英文 编辑:程序博客网 时间:2024/05/22 15:16
Servlet文件下载
中文文件下载与中文乱码方式:
package cn.csdn.web.servlet;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
publicclassDemo01Servletextends HttpServlet {
publicvoid doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
publicvoid doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
/*文件下载*/
/*要知道你下载的资源*/
// test(response);
ServletContext context =this.getServletContext();
String path = context.getRealPath("/WEB-INF/classes/res/三.jpg");
/*构造文件*/
File file =new File(path);
/*构造文件的输入流*/
InputStream is =new FileInputStream(file);
/*写:输出流*/
/*文件的下载运用URLEncoder调用encode(String s,String enc)方法将字符串设置成指定的编码方式
*/
response.setHeader("Content-Disposition","attachment;filename="
+ URLEncoder.encode(file.getName(),"UTF-8"));
OutputStream os = response.getOutputStream();
byte n[] =newbyte[1024];
int len = 0;
while ((len = is.read(n)) != -1) {
os.write(n, 0, len);
}
os.close();
is.close();
}
// outputStream中文乱码问题
privatevoidtest(HttpServletResponse response) throws IOException,
UnsupportedEncodingException {
// response对象因为getbytes获取的是gb2312的数据,而浏览器默认以gb2312打开
// response.setHeader("Conten-Type","text/html;charset=UTF-8");
response.getOutputStream().write(
"<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">"
.getBytes("UTF-8"));
response.getOutputStream().write("中国".getBytes("UTF-8"));
response.getOutputStream().write((98 +"").getBytes());
}
}
非中文文件下载方式:
package cn.csdn.web.servlet;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
publicclassDemo01Servletextends HttpServlet {
publicvoid doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
publicvoid doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
/*文件下载*/
/*要知道你下载的资源*/
// test(response);
ServletContext context =this.getServletContext();
String path = context.getRealPath("/WEB-INF/classes/res/rigth.jpg");
/*构造文件*/
File file =new File(path);
/*构造文件的输入流*/
InputStream is =new FileInputStream(file);
/*写:输出流*/
/*文件的下载*/
response.setHeader("Content-Disposition","attachment;filename=file.getName()"
OutputStream os = response.getOutputStream();
byte n[] =newbyte[1024];
int len = 0;
while ((len = is.read(n)) != -1) {
os.write(n, 0, len);
}
os.close();
is.close();
}
}
- servlet下载文件文件
- [Servlet] 实现文件下载
- Servlet下载文件
- Servlet实现文件下载
- Servlet中的文件下载
- servlet实现文件下载
- Servlet实现文件下载
- Servlet实现文件下载
- servlet实现文件下载
- servlet下载文件
- 文件下载Servlet范例
- servlet文件下载
- servlet下载文件
- Servlet实现文件下载
- servlet 文件下载
- domino servlet 文件下载
- Servlet文件下载
- Servlet文件下载
- 算法设计
- 结构体的大小
- Android Audio代码分析23 - attachAuxEffect函数
- jquery表单验证实例 非常好
- Java/JSP中文乱码问题
- Servlet文件下载
- 3DS Max建模 植物的触碰效果
- epo.c
- EditText输入字符控制(二)
- C#语法
- 链表逆序
- hello world程序
- js去除字符串前后空格的方法
- tst1