首页 > 作文

Java下载文件的四种方式详细代码

更新时间:2023-04-04 03:32:20 阅读: 评论:0

1.以流的方式下载

public httprvletrespon download(string path, httprvletrespon respon) {        try {            // path是指欲下载的文件的路径。            file file = new file(path);            // 取得文件名。          舞蹈教师资格证  string filename = file.getname();            // 取得文件的后缀名。            string ext = filename.substring(filename.lastindexof(".") + 1).toupperca();             // 以流的形式下载文件。            inputstream fis = new bufferedinputstream(new fileinputstream(path));            byte[] buffer = new byte[fis.available()];            fis.read(buffer);            fis.clo();            // 清空respon            respon.ret();            // 设置respon的header            respon.addheader("content-disposition", "attachment;filename=" + new string(filename.getbytes()));            respon.addheader("content-length", "" + file.length());            outputstream toclient = new bufferedoutputstream(respon.getoutputstream());            respon.tcontenttype("application/octet-stream");            toclient.write(buffer);            toclient.flush();            toclient.clo();        } catch (ioexception ex) {            ex.printstacktrace();        }        return respon;    }

2.下载本地文件

public void downloadlocal(httprvletrespon respon) throws filenotfoundexception {        // 下载本地文件        string filename = "operator.doc".tostring(); // 文件的默认保存名        // 读到流中        inputstream instream = new fileinputstream("c:/operator.doc");// 文件的存放路径        // 设置输出的格式        respon.ret();        respon.tcontenttype("bin");        respon.addheader("content-disposition", "attachment; filename=\"" + filename + "\"");        // 循环取出流中的数据        byte[] b = new byte[100];        int len;        try {            while ((len = instream.read(b)) > 0)                respon.getoutputstream().write(b, 0, len);            instream.clo();        } catch (ioexception e) {            e.printstacktrace();        }    }

3.下载网络文件

public void downloadnet(httprvletrespon respon) 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();        }    }

4.支持在线打开的方式

public void download(string filepath, httprvletrespon respon, boolean isonline) throws exception {        file f = new file(filepath);        if (!f.exists()) {            respon.nderror(404, "file not found!");            return;        }        bufferedinputstream br = new bufferedinputstream(new fileinputstream(f));        byte[] buf = new byte[1024];        int len = 0;         respon.ret(); // 非常重要        if (isonline) { // 在线打开方式            url u = new url("file:///" + filepath);            respon.tcontenttype(u.openconnection().getcontenttype());            respon.theader("content-disposition", "inline; filen幼师读书笔记ame=" + f.getname());            // 文件名应该编码成utf-8        } el { // 纯下载方式            respon.tcontenttype("application/x-msdownload");            respon.theader("content-disposition", "attachment; filename=" + f.getname());        }        outputstream out = respon.get马夫哥outputstream();        while ((len = br.read(buf)) > 0)            out.write(buf, 0, len);        br.clo();        out.clo泰国免税店();    }

到此这篇关于java下载文件的四种方式详细代码的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。

本文发布于:2023-04-04 03:32:19,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/8dfaef25ebb5007843f84cd347b27702.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:Java下载文件的四种方式详细代码.doc

本文 PDF 下载地址:Java下载文件的四种方式详细代码.pdf

下一篇:返回列表
标签:文件   方式   在线   文件名
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图