Java中通过流下载文件
写在前面: 我是 「扬帆向海」,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。
技术是开源的、知识是共享的
。这博客是对自己学习的一点点总结及记录,如果您对 Java、算法 感兴趣,可以关注我的动态,我们一起学习。
用知识改变命运,让我们的家人过上更好的生活
。
相关文章: 使用Java以zip形式批量下载文件、压缩文件
文章目录
- 1. 步骤
- 2. 代码实现
1. 步骤
- 保证创建一个新文件
- 创建大小为1024的buffer数组
- 创建文件输出流
- 创建字节缓冲输出流
- 文件逐步写入本地
5.1 先读出来保存到buffer数组中
5.2 然后从 buffer数组中写出数据保存到本地- 最后关闭流释放资源(反向关闭)
2. 代码实现
/*** 通过流下载文件** @param bis res.bodyStream()* @param filePath 文件路径* @param fileName 文件名称*/
public static void downloadFileByStream(BufferedInputStream bis, String filePath, String fileName) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");String fullPath = basePath + sdf.format(new Date()) + File.separator + filePath + File.separator + fileName;try {// 1. 保证创建一个新文件File file = new File(fullPath);if (!file.getParentFile().exists()) {file.getParentFile().mkdirs();}if (file.exists()) {file.delete();}file.createNewFile();// 2. 创建大小为1024的buffer数组byte[] buffer = new byte[1024];int readLength;// 3. 创建文件输出流,FileOutputStream流以写入数据到File对象表示的文件FileOutputStream fos = new FileOutputStream(new File(fullPath));// 4. 创建字节缓冲输出流BufferedOutputStream bos = new BufferedOutputStream(fos);// 5. 文件逐步写入本地// 5.1 先读出来保存到 buffer数组中while ((readLength = bis.read(buffer, 0, 1024)) != -1) {// 5.2 然后从 buffer数组中写出数据保存到本地bos.write(buffer, 0, readLength);}// 6. 最后关闭流释放资源(反向关闭)bos.close();fos.close();bis.close();} catch (IOException e) {e.printStackTrace();}
}
由于水平有限,本博客难免有不足,恳请各位大佬不吝赐教!
Java中通过流下载文件相关推荐
- java 文件无法下载_无法从Java中的URL下载文件
小编典典 您byte由于 while (fileIn.read() != -1) { //1st read fileOut.write(fileIn.read()); //2nd read - 1st ...
- Java中IO流,输入输出流概述与总结(转载自别先生文章)
Java中IO流,输入输出流概述与总结 总结的很粗糙,以后时间富裕了好好修改一下. 1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中, 所有输入流类都 ...
- c语言中关闭文件的作用,【C语言】计算机中的流和文件概述(文件的概念及打开关闭)...
[C语言]计算机中的流和文件概述(文件的概念及打开关闭) [C语言]计算机中的流和文件概述(文件的概念及打开关闭) 目录 一.计算机中流 二.文件 1.文件的概念 2.文件的分类 3.文件的缓冲区 4 ...
- java中字符流 字节流_理解Java中字符流与字节流的区别
1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个"流动的方向",通常可 ...
- Java中IO流的总结
有关Java中IO流总结图 流分类 按方向分 输入流 输出流 按单位分 字节流 字符流 按功能分 节点流 处理流(过滤流) 其他 所有的流继承与这四类流:InputSteam.OutputStream ...
- java中各种流的详细使用
http://hunulei.blogbus.com/logs/2005/07/1296309.html http://java.sun.com/docs/books/tutorial/essenti ...
- java 中的流_Java中的流(IO
Java中的流(IO流. java.io包中定义了多个流类型(类或抽象类)来实现 输入 / 输出功能,可以从不同的角度对其进行分类: 按单位可分为: 字节流 (一个字节一个字节的读取) ...
- java中IO流详解
不断更新中!!! 1.流的定义及分类 流是个抽象的概念,是对输入输出设备的抽象,Java程序中,对于数据的输入/输操作都是以"流"的方式进行.设备可以是文件,网络,内存等.将数据从 ...
- Java中IO流体系
转载: https://mp.weixin.qq.com/s?__biz=MzA5NzgzODI5NA==&mid=2454030958&idx=1&sn=df27aadb92 ...
- 解决关于java的IO流进行文件拷贝时拒绝访问的问题
解决关于java的IO流进行文件拷贝时拒绝访问的问题 1.在学习java IO流的时候,想进行文件的自动拷贝功能,我的代码是在idea中编写的,编写没有报红,但是运行时却出现了java.io.File ...
最新文章
- Fastadmin管理Mysql_FastAdmin-CMS模版制作(6)-正式部署
- 惨淡!苏州楼市政策调控下,这些房企高调入驻,如今黯然离场?
- 401 binary watch
- 双绞线传输距离_视频监控系统中布线常用传输线缆分类及制作方法
- 爬虫神器:一条命令下载《复仇者联盟3:无限战争》
- 在Exchange Server 2007中限制部分用户只能收发内部邮件
- [PYTHON] for循环中关于列表list中remove method 不得不说的秘密
- 2020年日历电子版(打印版)_2020年日历电子版(打印版)79451
- “我觉得,这个项目只需要 2 个小时”
- VB怎样屏蔽 Alt+F4键
- ios签名软件_如何解决IOS企业签名超高掉签率?当然是选择小菠萝企业签名啦!...
- android 5.0 qq状态栏颜色,Android 沉浸式状态栏(QQ5.0透明状态栏的效果)
- java中的堆和栈_实例理解Java中的堆和栈
- android studio更改代码字体,Android Studio怎么改变代码字体大小?
- dev cpp的常用快捷键
- 苹果手机怎么打印wps文档_怎么用苹果手机打印文件?
- 计算机实验三—CPT
- 53.大数据之旅——java分布式项目14-信息检索技术之Lucene,Solr
- k8s Nodeport方式下service访问,iptables处理逻辑(转)
- 边标志填充算法----计算机图形学
热门文章
- i5200u处理器 HD5500集成显卡安装黑苹果教程
- Tcl 语言 ——语法篇
- (ensp)华为USG6000v防火墙简单配置
- ae怎么卸载已经安装的插件_ae红巨人插件卸载教程!
- [通用指导]笔记本内置无线网卡选用
- 最全的Magisk模块下载
- python进行英语文献翻译
- VMware Fusion CentOS7 下载安装及手动配置静态IP
- oracle建表类型,oracle 建表类型以及约束
- 华为安装gsm框架_华为gms框架app下载-华为gms框架2020版下载最新版-乐游网安卓下载...