Java实现文件下载功能
506
在开发过程中,有时需要实现文档的下载功能。文档的下载功能涉及到了java IO流操作的基础知识,下面本文介绍如何使用java来实现后台文档下载功能。
package com.yukx.bak; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; public class ImageUtils { /** * @param urlString * @return 文件在网站的路径 * @throws IOException * @throws Exception */ public static String download(String urlString) throws IOException{ FileOutputStream os = null; InputStream is = null; StringBuilder netfileName = new StringBuilder(); try { // 构造URL URL url = new URL(urlString); // 打开连接 URLConnection con = url.openConnection(); // 输入流 is = con.getInputStream(); // 1K的数据缓冲 byte[] bs = new byte[1024]; // 读取到的数据长度 int len; //文件后缀 String fileSufix = urlString.substring(urlString.lastIndexOf(".")); String fileName = "yukx测试文件名"; // 输出的文件流 StringBuilder localFile = new StringBuilder(); localFile.append("F:\\images\\"); //校验并创建文件夹 File direct = new File(localFile.toString()); if (!direct.exists()) { direct.mkdirs(); } // 输出的文件流 localFile.append(fileName).append(fileSufix); File file = new File(localFile.toString()); os = new FileOutputStream(file, true); // 开始读取 while ((len = is.read(bs)) != -1) { os.write(bs, 0, len); } //返回文件名 netfileName.append(fileName).append(fileSufix); } catch (Exception e) { e.printStackTrace(); throw e; } finally { //注意关闭文件流,防止内存溢出 if (os != null) { os.close(); } if (is != null) { is.close(); } } return netfileName.toString(); } }
原文链接: https://www.yukx.com/javadev/article/details/2096.html 优科学习网Java实现文件下载功能
推荐文章
-
分库分表大家可能听得多了,但读扩散问题大家了解吗?这里涉及到几个问题。分库分表是什么?读扩散问题是什么?分库分表为什么会引发读扩散问题?怎么解决读扩散问题?这些问题还是比较有意思的。相信兄弟们也一定有机会遇到哈哈哈。我们先从分库分表的话题聊起吧。分库分表我们平时做项目开发。一开始,通常都先用一张数据
-
目前支持I/O多路复用的系统调用有 select,pselect,poll,epoll,I/O多路复用就是 通过一种机制,一个进程可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。 但select,pselect,poll,epoll本质上都是
-
架构师在进行系统设计时,遵循一套复杂且综合的方法论,主要包括以下核心步骤:需求分析:理解并明确业务需求是架构设计的第一步。架构师需要与各利益相关者深入沟通,收集和分析业务需求、性能需求、安全性需求、扩展性需求等。领域建模:基于需求分析,构建抽象的业务模型或数据模型,明确系统的边界、核心实体及其关系。
-
根据阿里交易型业务的特点,以及在双十一这样业内罕有的需求推动下,我们在官方的MySQL基础上增加了非常多实用的功能、性能补丁。而在使用MySQL的过程中,数据一致性是绕不开的话题之一。本文主要从阿里巴巴“去IOE”的后时代讲起,向大家简单介绍下我们过去几年在MySQL数据一致性上的努力和实践,以及目
-
随着深度学习在图像、语言、广告点击率预估等各个领域不断发展,很多团队开始探索深度学习技术在业务层面的实践与应用。而在广告CTR预估方面,新模型也是层出不穷:WideandDeep、DeepCrossNetwork、DeepFM、xDeepFM,美团很多篇深度学习博客也做了详细的介绍。但是,当
-
1.背景搜索优化问题,是个典型的AI应用问题,而AI应用问题首先是个系统问题。经历近10年的技术积累和沉淀,美团搜索系统架构从传统检索引擎升级转变为AI搜索引擎。当前,美团搜索整体架构主要由搜索数据平台、在线检索框架及云搜平台、在线AI服务及实验平台三大体系构成。在AI服务及实验平台中,模型训练平台
学习大纲