字节流转化为文件流_字节流转成字符串之后,在通过字符串转成字节流后的文件为什么会不一样?...
public static void main(String[] args) throws Exception {
File sourceFile = new File("/home/joy/图片/img1-lg.jpg");
File tempFile = new File("/home/joy/桌面/TempFile");
saveTempFile(sourceFile, tempFile);
String str = byteToString(tempFile);
File saveFile = new File("/home/joy/桌面/saveFile.jpg");
StringTobyte(str,saveFile);
}
// 保存临时文件
public static void saveTempFile(File sourceFile, File tempFile) throws Exception {
FileInputStream inputStream = new FileInputStream(sourceFile);
FileOutputStream fileOutputStream = new FileOutputStream(tempFile);
byte[] buf = new byte[10 * 1024];
int readLeng = 0;
while ((readLeng = inputStream.read(buf)) != -1) {
fileOutputStream.write(buf, 0, readLeng);
fileOutputStream.flush();
}
fileOutputStream.close();
inputStream.close();
}
// 文件字节转字符串
public static String byteToString(File file) throws Exception {
StringBuilder returnDatas = new StringBuilder();
FileInputStream fileInputStream = new FileInputStream(file);
byte[] buf = new byte[10 * 1024];
int readLenth = 0;
while ((readLenth = fileInputStream.read(buf)) != -1) {
returnDatas.append(new String(buf,0,readLenth));
}
fileInputStream.close();
return returnDatas.toString();
}
// 字符串转文件
public static void StringTobyte(String str,File file) throws Exception {
FileOutputStream fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(str.getBytes());
fileOutputStream.close();
}
代码大意:把一张图片通过字节流转成一个字符串,然后在获取该字符串的字节后还原为文件。
理解中,字符只是多带一层编码,还原成字节后应该还是能获取到源文件的呀。
字节流转化为文件流_字节流转成字符串之后,在通过字符串转成字节流后的文件为什么会不一样?...相关推荐
- java Hutool发送邮件附带附件 使用文件流、字节数组方式
MailUtil.send();无法发送文件流, //这个方式只能传入本地File,无法传入网络资源 MailUtil.send(); 内置Mail类实现方式 public static void m ...
- java字节输出流怎么转码_字节/字符——输入/输出流
一: 1.计算机如何存储中文的? 当前平台默认编码集 :GBK 一个中文两个字节 第一个字节:一定是负数 第二个字节:一般是负数,可能也会是正数,不会影响的结果. */ public class St ...
- 接收大文件流_一文搞定 Node.js 流 (Stream)
stream(流)是一种抽象的数据结构.就像数组或字符串一样,流是数据的集合. 不同的是,流可以每次输出少量数据,而且它不用存在内存中. 比如,对服务器发起 http 请求的 request/resp ...
- angular8 获取文件流_基于PG12.2实现主从异步流复制及主从切换教程(上)
概述 今天主要分享一下PG主从异步流复制搭建相关的一些理论内容,仅供参考. 一.PostgreSQL通过WAL日志构建高可靠性原理 PostgrepSQL在数据目录的子目录pg_xlog子目录中维护了 ...
- h5页面怎么处理文件流_一种H5页面效果生成视频文件的方法及系统与流程
本发明涉及计算机技术领域,尤其涉及一种H5页面效果生成视频文件的方法及系统. 背景技术: 现有的视频合成方法均是将视频需要合成的各个元素拆分出来,针对每个元素进行合成视频,复杂度高,一旦需要添加新的动 ...
- vue-axios下载文件流blob,ie下载报传递给系统调用的数据区域太小.ie文件流下载报错;文件下载失败将blob的错误信息转换成json格式
本次下载是后台文件流传输,前端下载,前端将拿到的下载id和名称downloadName传递给下载方法:如果是多个下载,可以采用数组for循环 情景描述: 1.如果符合导出条件, 后端直接返回数据流,如 ...
- android shell强制删除文件夹_别再乱清手机内存了,删除这3个“特殊”文件夹!空间释放8GB...
这样您就可以继续免费收到文章了. 完全都是免费订阅,请放心关注! 绝大部分的"爱国人士",都比较喜欢用安卓手机,尤其是华为手机,然而我们的安卓手机,因为系统的问题,在使用了一段时间 ...
- always on sql 收缩日志_如何清空日志: sql 2012在启用了Always on Group后日志文件不断增大(每天几个GB)。...
如何清空日志:sql2012在启用了AlwaysonGroup后日志文件不断增大(每天几个GB).无法截断及释放空间,导致磁盘空间不足.用先备份日志再收缩文件的方法也是行不能,现在日志每天增长几个.. ...
- h5如何上传文件二进制流_前端H5中JS用FileReader对象读取blob对象二进制数据,文件传输...
HTML5中的Blob对象只是二进制数据的容器,本身并不能操作二进制,故本篇将对其操作对象FileReader进行介绍. FileReader FileReader主要用于将文件内容读入内存,通过一系 ...
最新文章
- 「特征工程」与「表示学习」
- 流利说流年不利,市值跌去80%,AI教育第一股营收赚钱仍然依赖人工
- 文本挖掘预处理流程总结(1)— 中文
- 使用TWebBrowser组件保存网页为html和mht文件 收藏
- asp.net core 实战之 redis 负载均衡和quot;高可用quot;实现
- (pytorch-深度学习系列)CNN的多输入通道和多输出通道
- 进度条小飞机移动动画
- 小学科学作业计算器c语言,怎样用C实现一个简单科学计算器
- Fortran 95 流程控制、循环
- Web大学生网页作业成品~美食餐饮网站设计与实现(HTML+CSS+JavaScript)
- 在ARM+LINUX上使用pppd拔号上网(GPRS)流程
- HttpClient4.x使用中出现的几个问题及解决方法
- 概率论排列公式和组合公式实质 压强 : 压力=ps=压强*面积; 万有引力公式:
- pacemaker corosync 概念
- 快速幂与快速矩阵幂(以大数下的斐波那契数列为例)
- 【51nod】2589 快速讨伐
- 怎么打开Win10系统的文件夹选项?
- 首都经贸大学计算机科学与技术专业,河北经贸大学经济管理学院的计算机科学与技术专业怎么样啊...
- C#获取系统空闲时间
- 学计算机游戏本,2019游戏笔记本推荐_新学期游戏本准备好了吗-太平洋电脑网
热门文章
- GIT的Push和Pull,强制Pull覆盖本地命令
- 如何开发一个异常检测系统:异常检测 vs 监督学习
- 水平+垂直布局-css (借鉴)
- Nancy跨平台开发总结(三)发布到Jexus Web服务器
- FastReport问题整理(转)
- EAT/IAT Hook
- 细学PHP 14 mysql-4
- Linux 4.15 rc7,Linux学习之十五(sed命令)-2017-4-23
- mysql 5.6 修改端口_mysql5.6.24怎么修改端口号
- 微机化远动系统与计算机网络,远动技术教案_第3章_微机监控系统数据通信网络结构及原理.pdf...