分享好友 最新动态首页 最新动态分类 切换频道
java实现文件下载的几种情况
2024-12-26 10:18



-------------------------------------------------------------------------以上内容转自http://blog.csdn.net/longshengguoji/article/details/39433307--------------------------------------------------------



此外,还有一种下载情况-------------下载其他服务器上的文件

此时,需要使用http将其他服务器文件保存至本地,然后如果有下载需求再另行下载操作。


如下代码实现从其他服务器保存代码至本地


public class FileUtilz {

    public boolean saveUrlAs(String photoUrl, String fileName) {
        // 此方法只能用户HTTP协议
        System.out.println("photoUrl = " + photoUrl);
        System.out.println("fileName = " + fileName);

        try {
            URL url = new URL(photoUrl);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            DataInputStream in = new DataInputStream(connection.getInputStream());
            DataOutputStream out = new DataOutputStream(new FileOutputStream(fileName));
            byte[] buffer = new byte[4096];
            int count = 0;
            while ((count = in.read(buffer)) > 0) {
                out.write(buffer, 0, count);
            }
            out.close();
            in.close();
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }

    public String getDocumentAt(String urlString) {
        // 此方法兼容HTTP和FTP协议
        StringBuffer document = new StringBuffer();
        try {
            URL url = new URL(urlString);
            URLConnection conn = url.openConnection();
            BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            String line = null;
            while ((line = reader.readLine()) != null) {
                document.append(line + " ");
            }
            reader.close();
        } catch (MalformedURLException e) {
            System.out.println("Unable to connect to URL: " + urlString);
        } catch (IOException e) {
            System.out.println("IOException when connecting to URL: " + urlString);
        }
        return document.toString();
    }

    public static void main(String[] args) {

        FileUtilz t = new FileUtilz();
        String photoUrl = "http://61.178.11.86:9330/agengr/test.jpg";
        String fileName = photoUrl.substring(photoUrl.lastIndexOf("/"));
        String filePath = "D:/aaaaa";
        boolean flag = t.saveUrlAs(photoUrl, filePath + fileName);
        System.out.print("下载状态" + flag);

    }

}

如需下载,代码类似如下

String downloadUrl=“http://61.178.11.86:9330/agengr/test.jpg”

public String downloadInvoice(){
        OutputStream outp = null;
        FileInputStream in = null;
        
        try {
            Assert.notNull(downloadUrl);
            
            
            FileUtilz t = new FileUtilz();
            String fileName = downloadUrl.substring(downloadUrl.lastIndexOf("/") + 1, downloadUrl.length());
            String filePath = "D:/aaaaa/" + fileName;
            boolean flag = t.saveUrlAs(downloadUrl, filePath);
            
            if(flag){
                
                fileName = URLEncoder.encode(fileName, "UTF-8");
                getReponse().addHeader("Content-Disposition", "attachment;filename=" + fileName);
            
                outp = getReponse().getOutputStream();
                in = new FileInputStream(filePath);

                byte[] b = new byte[1024];
                int i = 0;

                while ((i = in.read(b)) > 0) {
                    outp.write(b, 0, i);
                }
                
                outp.flush();
                
            }else {
                logger.error("下载失败。。。");
            }
            
            
            
        } catch (Exception e) {
            logger.error("下载发票出错", e);
        } finally {
            try {
                if (in != null) {
                    in.close();
                    in = null;
                }
            } catch (Exception e) {
                logger.error("下载发票,关闭输入输出流出错", e);
            }
        }
        
        return null;
    }
最新文章
SONY 55X8000E+KODI=最佳拍档?
注意:本文所需要的文件全部存放在网盘,提取码:id5z,以下不再说明。然后双11的时候果断苏宁下单了。SONY的系统果然干净,开机真没广告。不过QQ音乐(在电视上听音乐?)或bestv百视通(点进去只认钱)这样毫无用处的东西占位挺烦的,
seo外链优化的最佳实践指南
在数字营销领域,外链优化是提升网站权重和搜索引擎排名的重要策略。本文将探讨外链优化的最佳实践,包括选择高质量链接、建立有效的外链策略以及监测和评估外链效果。通过深入分析这些方面,您可以更有效地提升网站的可见性和流量。在进行
首届金芙蓉文学艺术奖揭晓 长篇小说《少水鱼》等118件作品上榜
封面新闻记者 张杰 由四川省文联、四川省作协、中共成都市委宣传部指导,成都市文联艺术委员会主办的首届金芙蓉文学艺术奖评选工作顺利结束,经评委会严格、公平、专业评审,最终评选出《少水鱼》等40件获奖作品及74件优秀作品。同时,经组
迷宫手机游戏排行榜前十名
介绍:未上锁的房间免费版是一款专门为玩家带来密室解谜的趣味手游,游戏中的画面和玩法都是非常不错的,玩家可以在里面找寻各种线索,突破一个一个关卡,享受策略解谜的快乐。除此之外,未上锁的房间破解免费版经过破解,里面的所有道具都
病死率高达38%!患者发热、腹痛,痰培养惊现粪类圆线虫
*仅供医学专业人士阅读参考嗜酸性粒细胞增多是识别寄生虫感染的重要指标撰文 |秦梦玲前言粪类圆线虫是一种机会性致病寄生线虫。当接触到疫水或被污染的土壤时,丝状蚴经破损皮肤侵入人体,经血流至肺,可能通过吞咽动作进入食管、胃,并最
较详细的url地址seo优化基础教程
搜索引擎对于简单的,易读的url地址有着特别的偏好,给我们seo优化人员传达的意思是不要让你网站的url地址偏“复杂化”。关于url地址优化的基础教程很多,在此以案例的方式再次详细说明。简单总结来看,对搜索引擎友好的url地址需要层级少
如何搭建一个自己的服务器
  随着互联网的快速发展,拥有自己的服务器已经成为许多人追求。搭建自己的服务器可以满足个人需求,例如存储数据,或者搭建游戏服务器。在本文中,我们将介绍如何搭建一个自己的。  第一步:选择合适的硬件设备  首先,你需要选择一
网络广告推广(网络广告推广方案)
关于网络推广大家都知道方法有很多种,那么对于为什么要做网络推广,是个什么概念很多企业老板却不是很清楚,其实通常来讲,网络推广是以企业产品或服务为核心内容,建立网站、APP、小程序、H5等,然后将它们通过各种免费或收费渠道展现给
香港资料大全正版资料2024年免费,进度释义解释落实
随着信息技术的快速发展,人们对于各类资料的需求愈发旺盛,香港作为一个国际化大都市,其资料的重要性不言而喻,本文将围绕“香港资料大全正版资料2024年免费”这一主题,对进度释义、解释落实等方面进行详细阐述。香港资料大全是一部汇集
谷歌chrome浏览器怎么设置电脑模式
google浏览器官方正版下载是一个快速,易于使用,安全的网页浏览器。Google浏览器是专门为Android设计的,它不仅推荐适合你的新闻报道,而且还提供到你喜欢的网站和下载内容的快速链接。它甚至还内置了谷歌搜索和谷歌翻译。现在安装这个版
相关文章
推荐文章
发表评论
0评