FileInputStream input=new FileInputStream(file[i]);FileOutputStream output=new FileOutputStream(url2+\"/\"+(file[i].getName()).toString()); byte[] b=new byte[1024*5]; int len;
while((len=input.read(b))!=-1){ output.write(b,0,len); }
output.flush(); output.close(); input.close(); }
} %> 文件下载
<%@ page contentType=\"text/html; charset=gb2312\"%> <%@ page import=\"java.io.*\" %> <%
String fileName = \"newFile.txt\".toString(); //读到流中
InputStream inStream=new FileInputStream(\"c://测试//newFile.txt\"); //设置输出的格式 response.reset();
response.setContentType(\"text/plain\");
response.addHeader(\"Content-Disposition\ //循环取出流中的数据 byte[] b = new byte[100]; int len;
ServletOutputStream outStream = response.getOutputStream();
while((len=inStream.read(b)) >0) outStream.write(b,0,len); outStream.flush(); outStream.close(); inStream.close(); %>
数据库字段中的文件下载
<%@ page contentType=\"text/html;charset=gb2312\"%> <%@ page import=\"java.util.*,java.sql.*,java.io.*\"%> <%
String id = request.getParameter(\"id\"); if(id==null)
{ throw new Exception (\"没有找到图片\"); } else { try {
com.gzrealmap.lib.jdbc.JDBCUtil SqlBean= com.gzrealmap.lib.jdbc.JDBCUtil.getInstance(); SqlBean.connect();
String sql = \"select * from innernews where id = '\"+79+\"'\"; ResultSet rs = SqlBean.queryforUpdate(sql); rs.next();
//String fileNamedb = rs.getString(\"imageName\"); String file= rs.getString(\"acc\");
//String fileName = new String(fileNamedb.getBytes(),\"iso-8859-1\"); String fileName = \"a.jpg\";
response.setHeader(\"Content-Disposition\\"inline; filename=\\\"\" + fileName + \"\\\"\");
String filter = fileName.substring(fileName.lastIndexOf(\".\"));
if(filter.equals(\".txt\")) {
response.setContentType(\"text/plain\"); }
else if(filter.equals(\".doc\")||filter.equals(\".dot\")) {
response.setContentType(\"application/msword\"); } else {
response.setContentType(\"image/jpeg;charset=GB2312\"); }
ServletOutputStream o = response.getOutputStream(); //o.write(file); out.println(file); //o.flush(); //o.close();
SqlBean.disconnect(); }
catch(Exception ex) {
out.println(ex.getMessage()); } } %>
把网页保存成文件
<%@ page contentType=\"text/html;charset=gb2312\"%>
<%@ page import=\"java.text.*,java.util.*,java.net.*,java.io.*\"%> <%
URL stdURL = null;
BufferedReader stdIn = null; PrintWriter stdOut = null; try {
stdURL = new URL(\"http://www.163.com\"); }
catch (MalformedURLException e) { throw e;
} try {
//将字节流转变成为字符流
stdIn = new BufferedReader(new InputStreamReader(stdURL.openStream())); String theFileName = \"c://测试//163.html\";
stdOut = new PrintWriter(new BufferedWriter(new FileWriter(theFileName.toString()))); }
catch (IOException e) { }
/***把URL指定的页面以流的形式读出,写成指定的文件***/ try {
String strHtml = \"\";
while((strHtml = stdIn.readLine())!=null) { stdOut.println(strHtml); } }
catch (IOException e) { throw e; }
finally { try {
if(stdIn != null) stdIn.close(); if(stdOut != null) stdOut.close(); }
catch (Exception e) { System.out.println(e); } } %>
直接下载网上的文件
<%@ page contentType=\"text/html;charset=gb2312\"%> <%@ page import=\"java.io.*\"%> <%@ page import=\"java.net.*\"%> <%
int bytesum=0; int byteread=0;
URL url = new URL(\"/images/XrssFile/2006-11/21/20061121213739.gif\"); byte[] buffer =new byte[1444];
while ((byteread=inStream.read(buffer))!=-1) {
out.println(\"
\"+byteread+\"\"); bytesum+=byteread;//System.out.println(bytesum); fs.write(buffer,0,byteread); } %>
按行读文件
<%@ page contentType=\"text/html; charset=gb2312\" %> <%@ page import=\"java.io.*\" %> <%
FileReader myFileReader=new FileReader(\"c:/哈哈.txt\");
BufferedReader myBufferedReader=new BufferedReader(myFileReader); String myString=null;
String resultString=new String();
while((myString=myBufferedReader.readLine())!=null) { resultString=resultString+myString+\"
\"; }
out.println(resultString); myFileReader.close(); %>
对word文档的处理(上传与下载)
<%@ page contentType=\"application/msword\" %> <%
response.setHeader(\"Content-disposition\线上浏览方式 // response.setHeader(\"Content-disposition\下载方式 //以上这行设定传送到前端浏览器时的档名为test1.doc //就是靠这一行,让前端浏览器以为接收到一个word档 %>
//然后输出动态内容就可以得到一个word文档了 1,打开:
1)文件头上加:<%@ page contentType=\"application/msword\"%> xml文件里: doc
application/msword
2)可以用js,以下代码来自引用:
<%@ page contentType=\"text/html;charset=gb2312\" import= \"java.io.*\"%>
2,下载:
<%@ page contentType=\"text/html;charset=gb2312\" import= \"java.io.*\"%> <%// 得到文件名字和路径 String filename = \"jsp.doc\"; String filepath = \"C:\\\\\";
// 设置响应头和下载保存的文件名
response.setContentType(\"APPLICATION/OCTET-STREAM\");
response.setHeader(\"Content-Disposition\
// 打开指定文件的流信息
java.io.FileInputStream fileInputStream = new java.io.FileInputStream(filepath + filename); //FileOutputStream out = new FileOutputStream(filepath+\"测试\\\\\" + filename); // 写出流信息 int i;
while ((i=fileInputStream.read()) != -1) { out.write(i); }
fileInputStream.close(); out.close(); %>