您的位置:首页 > 其它

曾经使用过的文件下载方法

2011-03-03 18:13 423 查看
三种方法,都已测试通过。环境:weblogic 10

SysLog sysLog = new SysLog();

sysLog.setPath("d:/osclog/F1_logo.jpg");

sysLog.setName("F1_logo.jpg");

/*

// 下载本地文件

fileName = sysLog.getName(); // 文件名

try {

// 读到流中

InputStream inStream = new FileInputStream(sysLog.getPath());// 文件的存放路径

// 设置输出的格式

response.reset();

response.setContentType("bin");

response.addHeader("Content-Disposition", "attachment; filename=/"" + fileName + "/"");

// 循环取出流中的数据

byte[] b = new byte[100];

int len;

while ((len = inStream.read(b)) > 0)

response.getOutputStream().write(b, 0, len);

inStream.close();

} catch (IOException e) {

e.printStackTrace();

}

*/

/*

File file = new File(sysLog.getPath());

try {

InputStream fis = new BufferedInputStream(new FileInputStream(sysLog.getPath()));

byte[] buffer = new byte[fis.available()];//判断流的长度

fis.read(buffer);

fis.close();

response.reset();

response.addHeader("Content-Disposition", "attachment;filename=" + new String(sysLog.getName().getBytes()));

response.addHeader("Content-Length", "" + file.length());

response.setContentType("application/octet-stream");

OutputStream toClient = new BufferedOutputStream(response.getOutputStream());

toClient.write(buffer);

toClient.flush();

toClient.close();

} catch (IOException e1) {

System.out.println("error");

e1.printStackTrace();

}

*/

/*

File file = new File("d://osclog//wwsdk.log");

FileInputStream fs = null;

fileName = "wwsdk.log";

try {

fs = new FileInputStream(new File("d:/osclog/wwsdk.log"));

}catch(Exception e) {

e.printStackTrace();

}

response.setContentType("APPLICATION/OCTET-STREAM");

response.setHeader("Content-Disposition", "attachment; filename=/"" + fileName + "/"");

int b = 0;

try {

PrintWriter out = response.getWriter();

while((b=fs.read())!=-1) {

out.write(b);

}

fs.close();

out.close();

System.out.println("文件下载完毕.");

}catch(Exception e) {

e.printStackTrace();

System.out.println("下载文件失败!");

}

*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: